changeset 215:dedb85c54245

Reorganize homepage.
author Kai T. Ohlhus <k.ohlhus@gmail.com>
date Thu, 10 Sep 2020 17:47:36 +0900
parents fe5dcb23372a
children c8126c010d67
files COPYRIGHT.md Gemfile Gemfile.lock NEWS-1.html NEWS-2.html NEWS-3.2.html NEWS-3.4.html NEWS-3.6.html NEWS-3.8.html NEWS-3.html NEWS-4.0.html NEWS-4.2.md NEWS-4.4.md NEWS-5.1.md _config.yml _includes/code1.html _includes/code2.html _includes/release_news_select.md about.md bugs.md commercial-support.md community-news.html donate.md download.md get-involved.md index.md license.md missing.md news.md pages/COPYRIGHT.md pages/NEWS-1.md pages/NEWS-2.md pages/NEWS-3.2.md pages/NEWS-3.4.md pages/NEWS-3.6.md pages/NEWS-3.8.md pages/NEWS-3.md pages/NEWS-4.0.md pages/NEWS-4.2.md pages/NEWS-4.4.md pages/NEWS-5.1.md pages/about.md pages/bugs.md pages/commercial-support.md pages/community-news.html pages/donate.md pages/download.md pages/get-involved.md pages/index.md pages/license.md pages/missing.md pages/news.md pages/support-expectations.md pages/support.md support-expectations.md support.md
diffstat 56 files changed, 7607 insertions(+), 7393 deletions(-) [+]
line wrap: on
line diff
--- a/COPYRIGHT.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,517 +0,0 @@
----
-layout: page
-title: Copyright
-menu: false
-permalink: /copyright/
----
-
-Octave is free software: you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-Octave is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with Octave; see the file COPYING.  If not, see
-<https://www.gnu.org/licenses/>.
-
-
-Copyright:
-
-- 1987-1988, 1991-1997, 2003-2018  Free Software Foundation
-- 1992-2020  John W. Eaton
-- 1993  Fook Fah Yap
-- 1993  Friedrich Leisch
-- 1993  Gerhard Kircher
-- 1993  John C. Campbell
-- 1993  Per Bothner
-- 1993  R. Bruce Tenison
-- 1993  Teresa Twaroch
-- 1993, 1995  Auburn University
-- 1993, 1995, 1998-2002, 2004, 2006-2007  A. Scottedward Hodel
-- 1993, 1996-1999, 2001-2002, 2005-2006  Kurt Hornik
-- 1993-1997  O. Weber
-- 1993-1998  Karl Berry
-- 1994  Castor Fu
-- 1994  Mark Odegard
-- 1994  Romolo Manfredini
-- 1994, 2009  Anthony Richardson
-- 1994-1995  David Clem
-- 1994-1997  Frederick (Rick) A Niles
-- 1995  Paul Eggert
-- 1995  Thomas Baier
-- 1995  Vinayak Dutt
-- 1995, 1997  Klaus Gebhardt
-- 1997  Ram'on Garc'ia Fern'andez
-- 1997  Rex A. Dieter
-- 1997, 1999-2000, 2008  Rolf Fabian
-- 1997-1999, 2001-2003  Mumit Khan
-- 1998  Eric Norum
-- 1998  Philippe Defert
-- 1998  Richard Allan Holcombe
-- 1998  Roman Hodek
-- 1998  Tomislav Goles
-- 1998, 2000  Georg Thimm
-- 1998, 2000  John Smith
-- 1998-2000, 2002-2006, 2012  Andy Adler
-- 1999  Daniel Calvelo
-- 1999  Eduardo Gallestey
-- 1999  Geoff Jacobsen
-- 1999  James B. Rawlings
-- 1999  James Macnicol
-- 1999  Massimo Lorenzin
-- 1999-2000  Joao Cardoso
-- 1999-2000  Stephen Eglen
-- 1999-2002  Ben Sapp
-- 2000  Joerg Specht
-- 2000  Marcus Brinkmann
-- 2000  Michael Reifenberger
-- 2000  Thomas Walter
-- 2000, 2002, 2012  Steven G. Johnson
-- 2000, 2002-2004  Teemu Ikonen
-- 2000, 2003  Cyril Humbert
-- 2000, 2003, 2005  Mats Jansson
-- 2000, 2003, 2007-2008  Gabriele Pannocchia
-- 2000, 2004, 2006  Etienne Grossmann
-- 2000, 2005  James R. Van Zandt
-- 2000-2001  Matthew W. Roberts
-- 2000-2002  Cai Jianming
-- 2000-2002, 2007-2011  Kai Habel
-- 2000-2007  Paul Kienzle
-- 2001  Albert Chin-A-Young
-- 2001  Christoph Spiel
-- 2001  David Livings
-- 2001  Heinz Bauschke
-- 2001  Ondrej Popp
-- 2001  Ross Lippert
-- 2001  Thomas Stuart
-- 2001, 2005-2009, 2012-2016  Rafael Laboissiere
-- 2001, 2007  Jean-Francois Cardoso
-- 2001-2003  Python Software Foundation
-- 2002  David Billinghurst
-- 2002  Dirk Laurie
-- 2002  JD Cole
-- 2002  Jeff Cunningham
-- 2002  Matt Tenny
-- 2002  Nicholas Piper
-- 2002  Nix
-- 2002  Peter Van Wieren
-- 2002, 2006-2009  Francesco Potortì
-- 2002, 2017  Andreas Stahel
-- 2002, 2017  Bill Lash
-- 2002-2003  Dirk Eddelbuettel
-- 2002-2003, 2007  Joseph P. Skudlarek
-- 2002-2004  Per Persson
-- 2003  Aaron A. King
-- 2003  Danilo Piazzalunga
-- 2003  David Castelow
-- 2003  Duncan Temple Lang
-- 2003  Eric S. Raymond
-- 2003  Heine Kolltveit
-- 2003  Lute Kamstra
-- 2003  Melqart
-- 2003  Richard Stallman
-- 2003  Roger Banks
-- 2003  Russell Standish
-- 2003  Stefan Monnier
-- 2003  Thorsten Ohl
-- 2003, 2005  Arno J. Klaassen
-- 2003, 2008, 2010-2011  Alois Schlögl
-- 2003, 2008-2010, 2012, 2014-2015, 2018-2019  Doug Stewart
-- 2003-2004  Al Niessner
-- 2003-2004  Petter Risholm
-- 2003-2007  Quentin H. Spencer
-- 2003-2013, 2015  David Bateman
-- 2004  Balint Reczey
-- 2004  Claude Lacoursiere
-- 2004  David Hoover
-- 2004  Federico Zenith
-- 2004  Fredrik Lingvall
-- 2004  Glenn Golden
-- 2004  Hans Ekkehard Plesser
-- 2004  Heikki Junes
-- 2004  Jakub Bogusz
-- 2004  Martin Dalecki
-- 2004  Oyvind Kristiansen
-- 2004  Volker Kuhlmann
-- 2004, 2007-2010  Shai Ayal
-- 2004, 2011, 2015, 2018  Orion Poplawski
-- 2004-2005  Stefan van der Walt
-- 2004-2006  Keith Goodman
-- 2004-2006, 2008, 2010-2012  Pascal A. Dupuis
-- 2005  Antoine Moreau
-- 2005  Benjamin Hall
-- 2005  Clinton Chee
-- 2005  Daniel
-- 2005  Driss Ghaddab
-- 2005  Erik de Castro Lopo
-- 2005  Ivana Varekova
-- 2005  Joel Andersson
-- 2005  Julius Smith
-- 2005  Kevin Ruland
-- 2005  Ludwig Schwardt
-- 2005  Miroslaw Kwasniak
-- 2005  Mohamed Kamoun
-- 2005  Nicolo' Giorgetti
-- 2005  Orestes Mas
-- 2005  Shan G. Smith
-- 2005  Todd Neal
-- 2005  Tom Holroyd
-- 2005  Toni Saarela
-- 2005  Walter Landry
-- 2005  cctsim
-- 2005, 2007  Michael Zeising
-- 2005, 2007-2009, 2012-2018  Daniel J. Sebald
-- 2005, 2010  Ben Barrowes
-- 2005-2006  Jorge Barros de Abreu
-- 2005-2006  William Poetra Yoga Hadisoeseno
-- 2005-2006, 2008, 2012  Dmitri A. Sergatskov
-- 2005-2008  Bill Denney
-- 2005-2010  Søren Hauberg
-- 2006  Atsushi Kajita
-- 2006  Christopher Hulbert
-- 2006  Don Bindner
-- 2006  Geoffrey Knauth
-- 2006  Henry Mollet
-- 2006  Jim Peterson
-- 2006  Kai Labusch
-- 2006  Ken Kouno
-- 2006  Larrie Carr
-- 2006  Martin Costabel
-- 2006  Stephen Fegan
-- 2006  Yozo Hida
-- 2006, 2011  Michael Creel
-- 2006-2007  Arno Onken
-- 2006-2007  Bob Weigel
-- 2006-2007  Luis F. Ortiz
-- 2006-2007, 2009  Olli Saarela
-- 2006-2008  Juhani Saastamoinen
-- 2006-2008, 2010  Kim Hansen
-- 2006-2009  Alexander Barth
-- 2006-2009  Thomas Treichl
-- 2006-2009, 2011  Benjamin Lindner
-- 2006-2011  Thomas Weber
-- 2006-2015  Michael Goffioul
-- 2007  Alex Zvoleff
-- 2007  Alexander Klimov
-- 2007  Aquil H. Abdullah
-- 2007  Baylis Shanks
-- 2007  Christian Cornelssen
-- 2007  Christof Zeile
-- 2007  Christoph Mayer
-- 2007  Claudio Belotti
-- 2007  D. Martin
-- 2007  Donald Parsons
-- 2007  Geordie McBain
-- 2007  Jim Langston
-- 2007  Kristan Onu
-- 2007  Laurent Mazet
-- 2007  Luther Tychonievich
-- 2007  Marcus W. Reble
-- 2007  Matthias Drochner
-- 2007  Michael Weitzel
-- 2007  Moritz Borgmann
-- 2007  Peter A. Gustafson
-- 2007  Sebastian Schubert
-- 2007  Steve M. Robbins
-- 2007  Steven Mestdagh
-- 2007  Tarmigan Casebolt
-- 2007  Thomas Kasper
-- 2007  Ulrich Tipp
-- 2007  Utkarsh Upadhyay
-- 2007  Vittoria Rezzonico
-- 2007  Zhi Wang
-- 2007, 2009  Joel Keay
-- 2007, 2009-2015, 2017-2018  Olaf Till
-- 2007-2008  Muthiah Annamalai
-- 2007-2009  Brian Gough
-- 2007-2009  Jason Riedy
-- 2007-2013, 2015-2019  Marco Caliari
-- 2007-2013, 2018  John P. Swensen
-- 2007-2016, 2018-2019  Carlo de Falco
-- 2007-2016, 2019  Ben Abbott
-- 2008  Emil Lucretiu
-- 2008  G. (Gert) van Antwerpen
-- 2008  James Packer
-- 2008  Jarkko Kaleva
-- 2008  Jonathan Stickel
-- 2008  Julian Schnidder
-- 2008  Julien Pommier
-- 2008  Krzesimir Nowak
-- 2008  Maciek Gajewski
-- 2008  Mark van Rossum
-- 2008  Martin Weiser
-- 2008  Primozz Peterlin
-- 2008  Richard Bovey
-- 2008  Ryan Hinton
-- 2008  Sebastien Loisel
-- 2008  Tetsuro KURITA
-- 2008  Thomas L. Scofield
-- 2008  Timo Lindfors
-- 2008, 2010  Brett Stewart
-- 2008, 2010-2012  Konstantinos Poulios
-- 2008, 2011, 2013-2019  Andreas Weber
-- 2008, 2011-2012  Kris Thielemans
-- 2008, 2018  Dave Goel
-- 2008-2009  Ivan Sutoris
-- 2008-2009  Radek Salac
-- 2008-2010  Ryan Rusaw
-- 2008-2010  VZLU Prague
-- 2008-2011  Jaroslav Hajek
-- 2008-2011  Thorsten Meyer
-- 2008-2011, 2015-2016, 2018-2019  Tatsuro Matsuoka
-- 2008-2013, 2018  Marco Atzeri
-- 2008-2015, 2017  Michael D. Godfrey
-- 2009  Aleksej Saushev
-- 2009  Alexander Mamonov
-- 2009  Ansgar Burchardt
-- 2009  Aravindh Krishnamoorthy
-- 2009  Bernard Desgraups
-- 2009  Bertrand Roessli
-- 2009  Carmine Paolino
-- 2009  Carsten Clark
-- 2009  Christophe Tournery
-- 2009  Daniel Gualberto
-- 2009  E. Joshua Rigler
-- 2009  Eric Chassande-Mottin
-- 2009  Frederick Umminger
-- 2009  Joe Rothweiler
-- 2009  Kacper Kowalik
-- 2009  Kai NODA
-- 2009  Kristian Rumberg
-- 2009  Nokia Corporation and/or its subsidiary(-ies).
-- 2009  Peter L. Søndergaard
-- 2009  Peter O'Gorman
-- 2009  Pieter Eendebak
-- 2009  Rob Mahurin
-- 2009  Robert Millan
-- 2009  Stefan Hepp
-- 2009  Steffen Groot
-- 2009  Steven Verstoep
-- 2009  Thomas D. Dean
-- 2009, 2011  Lukas Reichlin
-- 2009, 2011-2012  Robert T. Short
-- 2009-2010, 2012  Martin Helm
-- 2009-2011  David Grundberg
-- 2009-2011  Petr Mikulik
-- 2009-2020  Rik Wehbring
-- 2010  Brad Froehle
-- 2010  Christos Dimitrakakis
-- 2010  Daisuke TAKAGO
-- 2010  David Gesswein
-- 2010  Gunnar Farnebäck
-- 2010  Joshua Redstone
-- 2010  Judd Storrs
-- 2010  Jyh-Miin Lin
-- 2010  Liam Groener
-- 2010  Marc Vinyals
-- 2010  Pedro Gonnet
-- 2010  Peter van den Biggelaar
-- 2010  Qianqian Fang
-- 2010-2012  Iain Murray
-- 2010-2017  Jordi Gutiérrez Hermoso
-- 2011  Alexander Klein
-- 2011  Andriy Shinkarchuck
-- 2011  Andy Buckle
-- 2011  David Finkel
-- 2011  David Wells
-- 2011  Fabian Deutsch
-- 2011  Giles Anderson
-- 2011  Hannes Müller
-- 2011  John Bradshaw
-- 2011  Karsten Trulsen
-- 2011  Matthias Jüschke
-- 2011  Patrick Häcker
-- 2011  Paul Boven
-- 2011  Richard Campbell
-- 2011  Roman Belov
-- 2011  Sean Young
-- 2011  Vanya Sergeev
-- 2011-2012  Fotios Kasolis
-- 2011-2012  Jacob Dawid
-- 2011-2012  Jarno Rajahalme
-- 2011-2012  John Hunt
-- 2011-2012, 2014, 2016  Daniel Kraft
-- 2011-2013  Júlio Hoffimann Mendes
-- 2011-2018  Carnë Draug
-- 2011-2019  Philip Nienhuis
-- 2011-2020  Torsten Lilge
-- 2012  Alexander Graf
-- 2012  Alexander Hansen
-- 2012  Corbin Champion
-- 2012  Elias Pipping
-- 2012  Fabio Rossi
-- 2012  Garrett G Euler
-- 2012  Israel Herraiz
-- 2012  Jen Stewart
-- 2012  Melvin Robinson
-- 2012  Miguel Bazdresch
-- 2012  Nicholas Musolino
-- 2012  Ronald van der Meer
-- 2012  Ryan Starret
-- 2012  Sergey Dudoladov
-- 2012  Stefan Husmann
-- 2012  Sunghyun Cho
-- 2012  Vivek Dogra
-- 2012, 2014-2019  Colin Macdonald
-- 2012-2013  Axel Mathéi
-- 2012-2013  Ed Meyer
-- 2012-2013  Erik Kjellson
-- 2012-2013  Max Brister
-- 2012-2013  Muhali
-- 2012-2013  Richard Crozier
-- 2012-2013  Thorsten Liebig
-- 2012-2016, 2018-2019  Juan Pablo Carbajal
-- 2012-2019  Pantxo Diribarne
-- 2012-2020  Mike Miller
-- 2013  Adam H Aitkenhead
-- 2013  Amod Mulay
-- 2013  Andre da Costa Barros
-- 2013  Andy Register
-- 2013  Artem Krosheninnikov
-- 2013  Arun Giridhar
-- 2013  Ben Kurtz
-- 2013  Carl Osterwisch
-- 2013  Catalin Codreanu
-- 2013  Clemens Buchacher
-- 2013  Corey Thomasson
-- 2013  Craig Hudson
-- 2013  David Turner
-- 2013  FZI Forschungszentrum Informatik Karlsruhe
-- 2013  Falk Tannhäuser
-- 2013  Janne Olavi Paanajärvi
-- 2013  Jens Restemeier
-- 2013  Leopoldo Cerbaro
-- 2013  Marco Cecchetti
-- 2013  Patrick Noffke
-- 2013  Risto Vanhanen
-- 2013  Rüdiger Sonderfeld
-- 2013  Serhiy Zahoriya
-- 2013  Vytautas Jančauskas
-- 2013, 2015-2019  Sébastien Villemot
-- 2013, 2016  Sander van Rijn
-- 2013, 2018  Valentin Ortega
-- 2013-2014  Kyle Guinn
-- 2013-2014  LYH
-- 2013-2014  Markus Appel
-- 2013-2014  Mike Sander
-- 2013-2014  Philipp Kutin
-- 2013-2014  PrasannaKumar Muralidharan
-- 2013-2014, 2016-2017  Nir Krakauer
-- 2013-2014, 2016-2019  Julien Bect
-- 2013-2015  Stefan Mahr
-- 2013-2015, 2018  Felipe G. Nievinski
-- 2013-2019  Kai T. Ohlhus
-- 2013-2020  John Donoghue
-- 2014  Ahsan Ali Shahid
-- 2014  Branden Archer
-- 2014  Colin Foster
-- 2014  David Spies
-- 2014  Drew Abbot
-- 2014  Edmund Grimley Evans
-- 2014  Eduardo Ramos Fernández
-- 2014  Endre Kozma
-- 2014  Jason Alan Palmer
-- 2014  Joachim Wiesemann
-- 2014  Johannes Zarl
-- 2014  José Vallet
-- 2014  Lasse Schuirmann
-- 2014  Marco Vitetta
-- 2014  Marko Seric
-- 2014  Markus Bergholz
-- 2014  Nathan Podlich
-- 2014  Pedro Angelo
-- 2014  Pooja Rao
-- 2014  Rolando Pereira
-- 2014  Sergey Plotnikov
-- 2014  Serviscope Minor
-- 2014  Stefan Beller
-- 2014  Vaibhav Gupta
-- 2014  Willem Atsma
-- 2014, 2019  Michael C. Grant
-- 2014-2015  Allan Jacobs
-- 2014-2016  Eugenio Gianniti
-- 2014-2016  Stefan Miereis
-- 2014-2016, 2018  Massimiliano Fasi
-- 2015  Akira Noda
-- 2015  Amro
-- 2015  Armin Müller
-- 2015  Bernardo Sulzbach
-- 2015  Cillian O'Driscoll
-- 2015  Claudius Zingerli
-- 2015  Ederag
-- 2015  Ethan Biery
-- 2015  Ilya Kurdyukov
-- 2015  Johannes Leuschner
-- 2015  Ken Marek
-- 2015  Michele Zaffalon
-- 2015  Rafael Monteiro
-- 2015  Sahil Badyal
-- 2015  Yu Liu
-- 2015, 2017  Michael Barnes
-- 2015, 2017  Piotr Held
-- 2015-2016  Dmitry Roshchin
-- 2015-2016  Jacapo Corno
-- 2015-2016  José Luis García Pallero
-- 2015-2016  Oliver Heimlich
-- 2015-2016, 2018  Sebastian Schöps
-- 2015-2016, 2019  Hartmut Gimpel
-- 2015-2017  Avinoam Kalma
-- 2015-2017  Lachlan Andrew
-- 2015-2019  Nicholas R. Jankowski
-- 2016  Abhinav Tripathi
-- 2016  Andrew Thornton
-- 2016  Atri Bhattacharya
-- 2016  Barbara Lócsi
-- 2016  Damjan Angelovski
-- 2016  Francesco Faccio
-- 2016  Garrett Euler
-- 2016  Joakim Andén
-- 2016  NVS Abhilash
-- 2016  Robert Jenssen
-- 2016  Stephen Montgomery-Smith
-- 2016-2017  Ernst Reissner
-- 2016-2019  Lars Kindermann
-- 2016-2019  Markus Mützel
-- 2017  Brad Kennedy
-- 2017  Georg Wiora
-- 2017  Hugo Raguet
-- 2017  Lasse Kliemann
-- 2017  Richard Zweig
-- 2017  Tejaswi D Prakash
-- 2017  Victor Norton
-- 2017-2019  Alexander Wilms
-- 2017-2019  Guillaume Flandin
-- 2017-2019  Michael Leitner
-- 2017-2019  Michele Ginesi
-- 2017-2019  Sahil Yadav
-- 2018  Avlas
-- 2018  Cristiano Dorigo
-- 2018  Dildar Sk
-- 2018  Gene Harvey
-- 2018  Joe Winegarden
-- 2018  Maor Shutman
-- 2018  Ronny Standtke
-- 2018  Stefan Schlögl
-- 2018  Stevie Schraudner
-- 2018-2019  A.R. Burgers
-- 2018-2019  Andrew Janke
-- 2018-2019  Jun Wang
-- 2019  Anthony Morast
-- 2019  Bill Greene
-- 2019  Christian Himpe
-- 2019  Daniel Davis
-- 2019  Eddy Xiao
-- 2019  Juho Iipponen
-- 2019  Nguy?n Gia Phong
-- 2019  Tomi Pannila
-- 2019  William Greene
-- 2019-2020  Markus Meisinger
-
-
-See also the list of contributors in the Octave manual (the file
-doc/interpreter/contributors.in in the sources).
--- a/Gemfile	Mon Jul 20 16:14:52 2020 +0900
+++ b/Gemfile	Thu Sep 10 17:47:36 2020 +0900
@@ -1,33 +1,3 @@
 source "https://rubygems.org"
 
-# Hello! This is where you manage which Jekyll version is used to run.
-# When you want to use a different version, change it below, save the
-# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
-#
-#     bundle exec jekyll serve
-#
-# This will help ensure the proper Jekyll version is running.
-# Happy Jekylling!
-
-# NOTE: Jekyll 4 released 2020-05-09, but no support for Pygments, see below
-#       https://jekyllrb.com/docs/liquid/tags/
-gem "jekyll", "~> 3.8.7" # Release 2020-05-08
-
-# If you have any plugins, put them here!
-group :jekyll_plugins do
-  gem "jekyll-feed", "~> 0.14" # Release 2020-06-24
-end
-
-# Rouge is the default highlighter for Jekyll 4 and does not support Octave
-# highlighting yet.  Thus stay on Jekyll 3.8 for a while.
-gem "pygments.rb"
-
-# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
-# and associated library.
-install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
-  gem "tzinfo", "~> 1.2"
-  gem "tzinfo-data"
-end
-
-# Performance-booster for watching directories on Windows
-gem "wdm", "~> 0.1.0", :install_if => Gem.win_platform?
+gem "github-pages"
--- a/Gemfile.lock	Mon Jul 20 16:14:52 2020 +0900
+++ b/Gemfile.lock	Thu Sep 10 17:47:36 2020 +0900
@@ -1,77 +1,258 @@
 GEM
   remote: https://rubygems.org/
   specs:
+    activesupport (6.0.3.3)
+      concurrent-ruby (~> 1.0, >= 1.0.2)
+      i18n (>= 0.7, < 2)
+      minitest (~> 5.1)
+      tzinfo (~> 1.1)
+      zeitwerk (~> 2.2, >= 2.2.2)
     addressable (2.7.0)
       public_suffix (>= 2.0.2, < 5.0)
+    coffee-script (2.4.1)
+      coffee-script-source
+      execjs
+    coffee-script-source (1.11.1)
     colorator (1.1.0)
-    concurrent-ruby (1.1.6)
+    commonmarker (0.17.13)
+      ruby-enum (~> 0.5)
+    concurrent-ruby (1.1.7)
+    dnsruby (1.61.4)
+      simpleidn (~> 0.1)
     em-websocket (0.5.1)
       eventmachine (>= 0.12.9)
       http_parser.rb (~> 0.6.0)
+    ethon (0.12.0)
+      ffi (>= 1.3.0)
     eventmachine (1.2.7)
+    execjs (2.7.0)
+    faraday (1.0.1)
+      multipart-post (>= 1.2, < 3)
     ffi (1.13.1)
     forwardable-extended (2.6.0)
+    gemoji (3.0.1)
+    github-pages (207)
+      github-pages-health-check (= 1.16.1)
+      jekyll (= 3.9.0)
+      jekyll-avatar (= 0.7.0)
+      jekyll-coffeescript (= 1.1.1)
+      jekyll-commonmark-ghpages (= 0.1.6)
+      jekyll-default-layout (= 0.1.4)
+      jekyll-feed (= 0.13.0)
+      jekyll-gist (= 1.5.0)
+      jekyll-github-metadata (= 2.13.0)
+      jekyll-mentions (= 1.5.1)
+      jekyll-optional-front-matter (= 0.3.2)
+      jekyll-paginate (= 1.1.0)
+      jekyll-readme-index (= 0.3.0)
+      jekyll-redirect-from (= 0.15.0)
+      jekyll-relative-links (= 0.6.1)
+      jekyll-remote-theme (= 0.4.1)
+      jekyll-sass-converter (= 1.5.2)
+      jekyll-seo-tag (= 2.6.1)
+      jekyll-sitemap (= 1.4.0)
+      jekyll-swiss (= 1.0.0)
+      jekyll-theme-architect (= 0.1.1)
+      jekyll-theme-cayman (= 0.1.1)
+      jekyll-theme-dinky (= 0.1.1)
+      jekyll-theme-hacker (= 0.1.1)
+      jekyll-theme-leap-day (= 0.1.1)
+      jekyll-theme-merlot (= 0.1.1)
+      jekyll-theme-midnight (= 0.1.1)
+      jekyll-theme-minimal (= 0.1.1)
+      jekyll-theme-modernist (= 0.1.1)
+      jekyll-theme-primer (= 0.5.4)
+      jekyll-theme-slate (= 0.1.1)
+      jekyll-theme-tactile (= 0.1.1)
+      jekyll-theme-time-machine (= 0.1.1)
+      jekyll-titles-from-headings (= 0.5.3)
+      jemoji (= 0.11.1)
+      kramdown (= 2.3.0)
+      kramdown-parser-gfm (= 1.1.0)
+      liquid (= 4.0.3)
+      mercenary (~> 0.3)
+      minima (= 2.5.1)
+      nokogiri (>= 1.10.4, < 2.0)
+      rouge (= 3.19.0)
+      terminal-table (~> 1.4)
+    github-pages-health-check (1.16.1)
+      addressable (~> 2.3)
+      dnsruby (~> 1.60)
+      octokit (~> 4.0)
+      public_suffix (~> 3.0)
+      typhoeus (~> 1.3)
+    html-pipeline (2.14.0)
+      activesupport (>= 2)
+      nokogiri (>= 1.4)
     http_parser.rb (0.6.0)
     i18n (0.9.5)
       concurrent-ruby (~> 1.0)
-    jekyll (3.8.7)
+    jekyll (3.9.0)
       addressable (~> 2.4)
       colorator (~> 1.0)
       em-websocket (~> 0.5)
       i18n (~> 0.7)
       jekyll-sass-converter (~> 1.0)
       jekyll-watch (~> 2.0)
-      kramdown (~> 1.14)
+      kramdown (>= 1.17, < 3)
       liquid (~> 4.0)
       mercenary (~> 0.3.3)
       pathutil (~> 0.9)
       rouge (>= 1.7, < 4)
       safe_yaml (~> 1.0)
-    jekyll-feed (0.14.0)
+    jekyll-avatar (0.7.0)
+      jekyll (>= 3.0, < 5.0)
+    jekyll-coffeescript (1.1.1)
+      coffee-script (~> 2.2)
+      coffee-script-source (~> 1.11.1)
+    jekyll-commonmark (1.3.1)
+      commonmarker (~> 0.14)
+      jekyll (>= 3.7, < 5.0)
+    jekyll-commonmark-ghpages (0.1.6)
+      commonmarker (~> 0.17.6)
+      jekyll-commonmark (~> 1.2)
+      rouge (>= 2.0, < 4.0)
+    jekyll-default-layout (0.1.4)
+      jekyll (~> 3.0)
+    jekyll-feed (0.13.0)
       jekyll (>= 3.7, < 5.0)
+    jekyll-gist (1.5.0)
+      octokit (~> 4.2)
+    jekyll-github-metadata (2.13.0)
+      jekyll (>= 3.4, < 5.0)
+      octokit (~> 4.0, != 4.4.0)
+    jekyll-mentions (1.5.1)
+      html-pipeline (~> 2.3)
+      jekyll (>= 3.7, < 5.0)
+    jekyll-optional-front-matter (0.3.2)
+      jekyll (>= 3.0, < 5.0)
+    jekyll-paginate (1.1.0)
+    jekyll-readme-index (0.3.0)
+      jekyll (>= 3.0, < 5.0)
+    jekyll-redirect-from (0.15.0)
+      jekyll (>= 3.3, < 5.0)
+    jekyll-relative-links (0.6.1)
+      jekyll (>= 3.3, < 5.0)
+    jekyll-remote-theme (0.4.1)
+      addressable (~> 2.0)
+      jekyll (>= 3.5, < 5.0)
+      rubyzip (>= 1.3.0)
     jekyll-sass-converter (1.5.2)
       sass (~> 3.4)
+    jekyll-seo-tag (2.6.1)
+      jekyll (>= 3.3, < 5.0)
+    jekyll-sitemap (1.4.0)
+      jekyll (>= 3.7, < 5.0)
+    jekyll-swiss (1.0.0)
+    jekyll-theme-architect (0.1.1)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-cayman (0.1.1)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-dinky (0.1.1)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-hacker (0.1.1)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-leap-day (0.1.1)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-merlot (0.1.1)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-midnight (0.1.1)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-minimal (0.1.1)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-modernist (0.1.1)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-primer (0.5.4)
+      jekyll (> 3.5, < 5.0)
+      jekyll-github-metadata (~> 2.9)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-slate (0.1.1)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-tactile (0.1.1)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-time-machine (0.1.1)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-titles-from-headings (0.5.3)
+      jekyll (>= 3.3, < 5.0)
     jekyll-watch (2.2.1)
       listen (~> 3.0)
-    kramdown (1.17.0)
+    jemoji (0.11.1)
+      gemoji (~> 3.0)
+      html-pipeline (~> 2.2)
+      jekyll (>= 3.0, < 5.0)
+    kramdown (2.3.0)
+      rexml
+    kramdown-parser-gfm (1.1.0)
+      kramdown (~> 2.0)
     liquid (4.0.3)
     listen (3.2.1)
       rb-fsevent (~> 0.10, >= 0.10.3)
       rb-inotify (~> 0.9, >= 0.9.10)
     mercenary (0.3.6)
-    multi_json (1.14.1)
+    mini_portile2 (2.4.0)
+    minima (2.5.1)
+      jekyll (>= 3.5, < 5.0)
+      jekyll-feed (~> 0.9)
+      jekyll-seo-tag (~> 2.1)
+    minitest (5.14.2)
+    multipart-post (2.1.1)
+    nokogiri (1.10.10)
+      mini_portile2 (~> 2.4.0)
+    octokit (4.18.0)
+      faraday (>= 0.9)
+      sawyer (~> 0.8.0, >= 0.5.3)
     pathutil (0.16.2)
       forwardable-extended (~> 2.6)
-    public_suffix (4.0.5)
-    pygments.rb (1.2.1)
-      multi_json (>= 1.0.0)
+    public_suffix (3.1.1)
     rb-fsevent (0.10.4)
     rb-inotify (0.10.1)
       ffi (~> 1.0)
-    rouge (3.20.0)
+    rexml (3.2.4)
+    rouge (3.19.0)
+    ruby-enum (0.8.0)
+      i18n
+    rubyzip (2.3.0)
     safe_yaml (1.0.5)
     sass (3.7.4)
       sass-listen (~> 4.0.0)
     sass-listen (4.0.0)
       rb-fsevent (~> 0.9, >= 0.9.4)
       rb-inotify (~> 0.9, >= 0.9.7)
+    sawyer (0.8.2)
+      addressable (>= 2.3.5)
+      faraday (> 0.8, < 2.0)
+    simpleidn (0.1.1)
+      unf (~> 0.1.4)
+    terminal-table (1.8.0)
+      unicode-display_width (~> 1.1, >= 1.1.1)
     thread_safe (0.3.6)
+    typhoeus (1.4.0)
+      ethon (>= 0.9.0)
     tzinfo (1.2.7)
       thread_safe (~> 0.1)
-    tzinfo-data (1.2020.1)
-      tzinfo (>= 1.0.0)
-    wdm (0.1.1)
+    unf (0.1.4)
+      unf_ext
+    unf_ext (0.0.7.7)
+    unicode-display_width (1.7.0)
+    zeitwerk (2.4.0)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  jekyll (~> 3.8.7)
-  jekyll-feed (~> 0.14)
-  pygments.rb
-  tzinfo (~> 1.2)
-  tzinfo-data
-  wdm (~> 0.1.0)
+  github-pages
 
 BUNDLED WITH
    1.16.1
--- a/NEWS-1.html	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1644 +0,0 @@
-<!doctype html public "-//IETF//DTD HTML Strict//EN">
-<html>
-<head>
-<title> Changes in Octave version 1 </title>
-</head>
-
-<body>
-<h1> News for Octave Version 1 </h1>
-<hr>
-
-<h2>Summary of changes for version 1.1.1</h2>
-
-<pre>
-  * New built-in variables, default_return_value and
-    define_all_return_values.
-
-    If define_all_return_values is set to "false", Octave does not do
-    anything special for return values that are left undefined, and
-    you will get an error message if you try to use them.  For
-    example, if the function
-
-      function [x, y] = f ()
-        y = 1;
-      endfunction
-
-    is called as
-
-      octave:13> [a, b] = f ()
-
-    Octave will print an error message for the attempt to assign an
-    undefined value to `a'.
-
-    This is incompatible with Matlab, which will define the return
-    variable `x' to be the empty matrix.  To get the Matlab-like
-    behavior, you can set the variable define_all_return_values to
-    "true" (the default is "false") and default_return_value to `[]'
-    (the default).  Then, any return values that remain undefined when
-    the function returns will be initialized to `[]'.
-
-    If the function is called without explicitly asking for an output,
-    it will succeed.  This behavior is compatible and unchanged from
-    previous versions of Octave.
-
-  * New built-in variable suppress_verbose_help_message.  If set to
-    "true", Octave will not add additional help information to the end
-    of the output from the help command and usage messages for
-    built-in commands.  The default value is "false".
-
-  * New built-in variable PS4 is used as the prefix of echoed input
-    (enabled with the --echo-input (-x) option).
-
-  * The function size() now accepts an optional second argument.
-
-  * Output from `save - ...' now goes through the pager.
-
-  * The break statement may also be used to exit a function, for
-    compatibility with Matlab.
-
-  * The directory tree for installing Octave is now closer to
-    conforming with the current GNU standards.
-
-  * More bug fixes.
-</pre>
-
-<h2>Summary of changes for version 1.1.0</h2>
-
-<pre>
-  * Octave now requires g++ 2.6.3 or later.  This change is necessary
-    to make template instantiations cleaner, and to avoid having to
-    have special cases in the code for earlier versions of gcc.
-
-  * A new data structure type has been added.  The implementation uses
-    an associative array with indices limited to strings, but the
-    syntax is more like C-style structures.  here are some examples of
-    using it.
-
-    Elements of structures can be of any type, including structures:
-
-      octave:1> x.a = 1;
-      octave:2> x.b = [1, 2; 3, 4];
-      octave:3> x.c = "string";
-      octave:4> x
-      x =
-
-      <structure: a b c>
-
-      octave:5> x.a
-      x.a = 1
-      octave:6> x.b
-      x.b =
-
-        1  2
-        3  4
-
-      octave:7> x.c
-      x.c = string
-      octave:8> x.b.d = 3
-      x.b.d = 3
-      octave:9> x.b
-      x.b =
-
-      <structure: d>
-
-      octave:10> x.b.d
-      x.b.d = 3
-
-    Functions can return structures:
-
-      octave:1> a = rand (3) + rand (3) * I;
-      octave:2> function y = f (x)
-      > y.re = real (x);
-      > y.im = imag (x);
-      > endfunction
-      octave:3> f (a)
-      ans =
-
-      <structure: im re>
-
-      octave:4> ans.im
-      ans.im =
-
-        0.093411  0.229690  0.627585
-        0.415128  0.221706  0.850341
-        0.894990  0.343265  0.384018
-
-      octave:5> ans.re
-      ans.re =
-
-        0.56234  0.14797  0.26416
-        0.72120  0.62691  0.20910
-        0.89211  0.25175  0.21081
-
-    Return lists can include structure elements:
-
-      octave:1> [x.u, x.s, x.v] = svd ([1, 2; 3, 4])
-      x.u =
-
-        -0.40455  -0.91451
-        -0.91451   0.40455
-
-      x.s =
-
-        5.46499  0.00000
-        0.00000  0.36597
-
-      x.v =
-
-        -0.57605   0.81742
-        -0.81742  -0.57605
-
-      octave:8> x
-      x =
-
-      <structure: s u v>
-
-    This feature should be considered experimental, but it seems to
-    work ok.  Suggestions for ways to improve it are welcome.
-
-  * Octave now supports a limited form of exception handling modelled
-    after the unwind-protect form of Lisp:
-
-      unwind_protect
-        BODY
-      unwind_protect_cleanup
-        CLEANUP
-      end_unwind_protect
-
-    Where BODY and CLEANUP are both optional and may contain any
-    Octave expressions or commands.  The statements in CLEANUP are
-    guaranteed to be executed regardless of how control exits BODY.
-
-    This is useful to protect temporary changes to global variables
-    from possible errors.  For example, the following code will always
-    restore the original value of the built-in variable
-    do_fortran_indexing even if an error occurs while performing the
-    indexing operation.
-
-      save_do_fortran_indexing = do_fortran_indexing;
-      unwind_protect
-        do_fortran_indexing = "true";
-        elt = a (idx)
-      unwind_protect_cleanup
-        do_fortran_indexing = save_do_fortran_indexing;
-      end_unwind_protect
-
-    Without unwind_protect, the value of do_fortran_indexing would not
-    be restored if an error occurs while performing the indexing
-    operation because evaluation would stop at the point of the error
-    and the statement to restore the value would not be executed.
-
-  * Recursive directory searching has been implemented using Karl
-    Berry's kpathsea library.  Directories below path elements that
-    end in // are searched recursively for .m files.
-
-  * Octave now waits for additional input when a pair of parentheses
-    is `open' instead of giving an error.  This allows one to write
-    statements like this
-
-      if (big_long_variable_name == other_long_variable_name
-          || not_so_short_variable_name > 4
-          && y > x)
-        some (code, here);
-
-    without having to clutter up the if statement with continuation
-    characters.
-
-  * Continuation lines are now allowed in string constants and are
-    handled correctly inside matrix constants.
-
-  * Both `...{whitespace}\n' and `\{whitespace}\n' can be used to
-    introduce continuation lines, where {whitespace} may include
-    spaces, tabs and comemnts.
-
-  * The script directory has been split up by topic.
-
-  * Dynamic linking mostly works with dld.  The following limitations
-    are known problems:
-
-    -- Clearing dynamically linked functions doesn't work.
-
-    -- Dynamic linking only works with dld, which has not been ported
-       to very many systems yet.
-
-    -- Configuring with --enable-lite-kernel seems to mostly work to
-       make nonessential built-in functions dynamically loaded, but
-       there also seem to be some problems.  For example, fsolve seems
-       to always return info == 3.  This is difficult to debug since
-       gdb won't seem to allow breakpoints to be set inside
-       dynamically loaded functions.
-
-    -- Octave uses a lot of memory if the dynamically linked functions
-       are compiled with -g.  This appears to be a limitation with
-       dld, and can be avoided by not using -g to compile functions
-       that will be linked dynamically.
-
-  * fft2 and ifft2 are now built-in functions.
-
-  * The `&&' and `||' logical operators are now evaluated in a
-    short-circuit fashion and work differently than the element by
-    element operators `&' and `|'.  See the Octave manual for more
-    details.
-
-  * Expressions like 1./m are now parsed as 1 ./ m, not 1. / m.
-
-  * The replot command now takes the same arguments as gplot or
-    gsplot (except ranges, which cannot be respecified with replot
-    (yet)) so you can add additional lines to existing plots.
-
-  * The hold command has been implemented.
-
-  * New function `clearplot' clears the plot window.  The name `clg'
-    is aliased to `clearplot' for compatibility with Matlab.
-
-  * The commands `gplot clear' and `gsplot clear' are equivalent to
-    `clearplot'.  (Previously, `gplot clear' would evaluate `clear' as
-    an ordinary expression and clear all the visible variables.)
-
-  * The Matlab-style plotting commands have been improved.  They now
-    accept line-style arguments, multiple x-y pairs, and other plot
-    option flags.  For example,
- 
-      plot (x, y, "@12", x, y2, x, y3, "4", x, y4, "+")
-
-    results in a plot with
-
-      y  plotted with points of type 2 ("+") and color 1 (red).
-      y2 plotted with lines.
-      y3 plotted with lines of color 4.
-      y4 plotted with points which are "+"s.
-
-    the help message for `plot' and `plot_opt' provide full
-    descriptions of the options.
-
-  * NaN is now dropped from plot data, and Inf is converted to a
-    very large value before calling gnuplot.
-
-  * Improved load and save commands:
-
-    -- The save and load commands can now read and write a new binary
-       file format.  Conversion to and from IEEE big and little endian
-       formats is handled automatically.  Conversion for other formats
-       has not yet been implemented.
-
-    -- The load command can now read Matlab .mat files, though it is
-       not yet able to read sparse matrices or handle conversion for
-       all data formats.
-
-    -- The save command can write Matlab .mat files.
-
-    -- The load command automatically determines the save format
-       (binary, ascii, or Matlab binary).
-
-    -- The default format for the save command is taken from the
-       built-in variable `default_save_format'.
-
-    -- The save and load commands now both accept a list of globbing
-       patterns so you can easily load a list of variables from a
-       file.
-
-    -- The load command now accepts the option -list, for listing the
-       variable names without actually loading the data.  With
-       -verbose, it prints a long listing.
-
-    -- The load command now accepts the option -float-binary, for
-       saving floating point data in binary files in single precision.
-
-  * who and whos now accept a list of globbing patterns so you can
-    limit the lists of variables and functions to those that match a
-    given set of patterns.
-
-  * New functions for manipulating polynomials
-      
-      compan     -- companion matrix corresponding to polynomial coefficients
-      conv       -- convolve two vectors
-      deconv     -- deconvolve two vectors
-      roots      -- find the roots of a polynomial
-      poly       -- characteristic polynomial of a matrix
-      polyderiv  -- differentiate a polynomial
-      polyinteg  -- integrate a polynomial
-      polyreduce -- reduce a polynomial to minimum number of terms
-      polyval    -- evaluate a polynomial at a point
-      polyvalm   -- evaluate a polynomial in the matrix sense
-      residue    -- partial fraction expansion corresponding to the ratio
-                    of two polynomials
-
-  * New functions for manipulating sets
-
-      create_set   -- create a set of unique values
-      complement   -- find the complement of two sets
-      intersection -- find the intersection of two sets
-      union        -- find the union of two sets
-
-  * New elementary functions:
-
-      acot   acoth   acsc   acsch
-      asec   asech   cot    coth
-      csc    csch    log2   sec
-      sech
-
-  * New special functions:
-
-      beta   -- beta function
-      betai  -- incomplete beta function
-      gammai -- incomplete gamma function
-
-  * New image processing functions:
-
-      colormap  -- set and return current colormap
-      gray      -- set a gray colormap
-      gray2ind  -- image format conversion
-      image     -- display an image
-      imagesc   -- scale and display an image
-      imshow    -- display images
-      ind2gray  -- image format conversion
-      ind2rgb   -- image format conversion
-      loadimage -- load an image from a file
-      ntsc2rgb  -- image format conversion
-      ocean     -- set a color colormap
-      rgb2ind   -- image format conversion
-      rgb2ntsc  -- image format conversion
-      saveimage -- save an image to a file
-
-  * New time and date funcitons:
-
-      tic          -- set wall-clock timer
-      toc          -- get elapsed wall-clock time, since timer last set
-      etime        -- another way to get elapsed wall-clock time
-      cputime      -- get CPU time used since Octave started
-      is_leap_year -- is the given year a leap year?
-
-  * Other new functions:
-
-      bug_report -- submit a bug report to the bug-octave mailing list
-
-      toascii -- convert a string to a matrix of ASCII character codes
-
-      octave_tmp_file -- generate a unique temporary file name
-
-      undo_string_escapes -- replace special characters in a string by
-                             their backslash forms
-
-      is_struct -- determine whether something is a structure data type
-
-      feof   -- check EOF condition for a specified file
-      ferror -- check error state for a specified file
-      fread  -- read binary data from a file
-      fwrite -- write binary data to a file
-
-      file_in_path -- check to see if named file exists in given path
-
-      kbhit  -- get a single character from the terminal
-
-      axis   -- change plot ranges
-      hist   -- plot histograms
-
-      diary  -- save commands and output to a file
-
-      type   -- show the definition of a function
-      which  -- print the type of an identifier or the location of a
-                function file
-
-      isieee  -- Returns 1 if host uses IEEE floating point
-      realmax -- Returns largest floating point number
-      realmin -- Returns smallest floating point number
-
-      gcd     -- greatest common divisor
-      lcm     -- least common multiple
-
-      null    -- orthonormal basis of the null space of a matrix
-      orth    -- orthonormal basis of the range space of a matrix
-
-      fft2    -- two-dimensional fast fourier transform
-      ifft2   -- two-dimensional inverse fast fourier transform
-      filter  -- digital filter
-      fftfilt -- filter using fft
-      fftconv -- convolve to vectors using fft
-      sinc    -- returns sin(pi*x)/(pi*x)
-      freqz   -- compute the frequency response of a filter
-
-  * The meaning of nargin (== args.length ()) in built-in functions
-    has been changed to match the meaning of nargin in user-defined
-    functions.
-
-  * Variable return lists.  Octave now has a real mechanism for
-    handling functions that return an unspecified number of values,
-    so it is no longer necessary to place an upper bound on the number
-    of outputs that a function can produce.
-
-    Here is an example of a function that uses the new syntax to
-    produce n values:
-
-      function [...] = foo (n)
-        for i = 1:n
-          vr_val (i * x);
-        endfor
-      endfunction
-
-  * New keyword, all_va_args, that allows the entire list of va_args
-    to be passed to another function.  For example, given the functions
-
-      function f (...)
-        while (nargin--)
-          disp (va_arg ())
-        endwhile
-      endfunction
-      function g (...)
-        f ("begin", all_va_args, "end")
-      endfunction
-
-    the statement
-
-      g (1, 2, 3)
-
-    prints
-
-      begin
-      1
-      2
-      3
-      end
-
-    all_va_args may be used more than once, but can only be used
-    within functions that take a variable number of arguments.
-
-  * If given a second argument, svd now returns an economy-sized
-    decomposition, eliminating the unecessary rows or columns of U or
-    V.
-
-  * The max and min functions correctly handle complex matrices in
-    which some columns contain real values only.
-
-  * The find function now handles 2 and 3 output arguments.
-
-  * The qr function now allows computation of QR with pivoting.
-
-  * hilb() is much faster for large matrices.
-
-  * computer() is now a built-in function.
-
-  * pinv() is now a built-in function.
-
-  * The output from the history command now goes through the pager.
-
-  * If a function is called without assigning the result, nargout is
-    now correctly set to 0.
-
-  * It is now possible to write functions that only set some return
-    values.  For example, calling the function
-
-      function [x, y, z] = f () x = 1; z = 2; endfunction
-
-    as
-
-      [a, b, c] = f ()
-
-    produces:
-
-      a = 1
-
-      b = [](0x0)
-
-      c = 2
-
-  * The shell_cmd function has been renamed to system (the name
-    shell_cmd remains for compatibility).  It now returns [output, status].
-
-  * New built-in variable `OCTAVE_VERSION'.  Also a new function,
-    version, for compatibility with Matlab.
-
-  * New built-in variable `automatic_replot'.  If it is "true", Octave
-    will automatically send a replot command to gnuplot each time the
-    plot changes.  Since this is fairly inefficient, the default value
-    is "false".
-
-  * New built-in variable `whitespace_in_literal_matrix' allows some
-    control over how Octave decides to convert spaces to commas in
-    matrix expressions like `[m (1)]'.
-
-    If the value of `whitespace_in_literal_matrix' is "ignore", Octave
-    will never insert a comma or a semicolon in a literal matrix list.
-    For example, the expression `[1 2]' will result in an error
-    instead of being treated the same as `[1, 2]', and the expression
-
-      [ 1, 2,
-        3, 4 ]
-
-    will result in the vector [1 2 3 4] instead of a matrix.
-
-    If the value of `whitespace_in_literal_matrix' is "traditional",
-    Octave will convert spaces to a comma between identifiers and `('.
-    For example, given the matrix
-
-      m = [3 2]
-
-    the expression
-
-      [m (1)]
-
-    will be parsed as
-
-      [m, (1)]
-
-    and will result in
-
-      [3 2 1]
-
-    and the expression
-
-      [ 1, 2,
-        3, 4 ]
-
-    will result in a matrix because the newline character is converted
-    to a semicolon (row separator) even though there is a comma at the
-    end of the first line (trailing commas or semicolons are ignored).
-    This is apparently how Matlab behaves.
-
-    Any other value for `whitespace_in_literal_matrix' results in
-    behavior that is the same as traditional, except that Octave does
-    not convert spaces to a comma between identifiers and `('.
-    For example, the expression
-
-      [m (1)]
-
-    will produce 3.  This is the way Octave has always behaved.
-
-  * Line numbers in error messages for functions defined in files and
-    for script files now correspond to the file line number, not the
-    number of lines after the function keyword appeared.
-
-  * Octave now extracts help from script files.  The comments must
-    come before any other statements in the file.
-
-  * In function files, the first block of comments in the file will
-    now be interpreted as the help text if it doesn't look like the
-    Octave copyright notice.  Otherwise, Octave extracts the first set
-    of comments after the function keyword.
-
-  * The function clock is more accurate on systems that have the
-    gettimeofday() function.
-
-  * The standard output stream is now automatically flushed before
-    reading from stdin with any of the *scanf() functions.
-
-  * Expanded reference card.
-
-  * The Octave distribution now includes a frequently asked questions
-    file, with answers.  Better answers and more questions (with
-    answers!) are welcome.
-
-  * New option --verbose.  If Octave is invoked with --verbose and not
-    --silent, a message is printed if an octaverc file is read while
-    Octave is starting.
-
-  * An improved configure script generated by Autoconf 2.0.
-
-  * Lots of bug fixes.
-</pre>
-
-<h2>Summary of changes for version 1.0</h2>
-
-<pre>
-  * C-style I/O functions now handle files referenced by name or by
-    number more consistently.
-</pre>
-
-<h2>Summary of changes for version 0.83</h2>
-
-<pre>
-  * Loading global symbols should work now.
-
-  * Clearing the screen doesn't reprint the prompt unnecessarily.
-
-  * The operations <complex scalar> OP <real matrix> for OP == +, -,
-    *, or ./ no longer crash Octave.
-
-  * More portability and configuration fixes.
-</pre>
-
-<h2>Summary of changes for version 0.82</h2>
-
-<pre>
-  * Octave now comes with a reference card.
-
-  * The manual has been improved, but more work remains to be done.
-
-  * The atanh function now works for complex arguments.
-
-  * The asin, acos, acosh, and atanh functions now work properly when
-    given real-valued arguments that produce complex results.
-
-  * SEEK_SET, SEEK_CUR, and SEEK_END are now constants.
-
-  * The `using' qualifier now works with gplot and gsplot when the
-    data to plot is coming directly from a file.
-
-  * The strcmp function now works correctly for empty strings.
-
-  * Eliminated bogus parse error for M-files that don't end with `end'
-    or `endfunction'.
-
-  * For empty matrices with one nonzero dimension, the +, -, .*, and
-    ./ operators now correctly preserve the dimension.
-
-  * Octave no longer crashes if you type ^D at the beginning of a line
-    in the middle of defining a loop or if statement.
-
-  * On AIX systems, Back off on indexing DiagArray via Proxy class to
-    avoid gcc (or possibly AIX assembler?) bug. 
-
-  * Various other bug and portability fixes.
-</pre>
-
-<h2>Summary of changes for version 0.81</h2>
-
-<pre>
-  * Octave no longer dumps core if you try to define a function in
-    your .octaverc file.
-
-  * Fixed bug in Array class that resulted in bogus off-diagonal
-    elements when computing eigenvalue and singular value
-    decompositions.
-
-  * Fixed bug that prevented lsode from working on the SPARCstation,
-    at least with some versions of Sun's f77.  This bug was introduced
-    in 0.80, when I changed LSODE to allow the user to abort the
-    integration from within the RHS function.
-
-  * Fixed bug that prevented global attribute of variables from being
-    saved with save(), and another that prevented load() from working
-    at all.
-</pre>
-
-<h2>Summary of changes for version 0.80</h2>
-
-<pre>
-  * I have started working on a manual for the C++ classes.  At this
-    point, it is little more than a list of function names.  If you
-    would like to volunteer to help work on this, please contact
-    bug-octave@bevo.che.wisc.edu.
-
-  * The patterns accepted by the save and clear commands now work like
-    file name globbing patterns instead of regular expressions.  I
-    apologize for any inconvenience this change may cause, but file
-    name globbing seems like a more reasonable style of pattern
-    matching for this purpose.
-
-  * It is now possible to specify tolerances and other optional inputs
-    for dassl, fsolve, lsode, npsol, qpsol, and quad.  For each of
-    these functions, there is a corresponding function X_options,
-    which takes a keyword and value arguments.  If invoked without any
-    arguments, the X_options functions print a list of possible
-    keywords and current values.  For example,
-
-      npsol_options ()
-
-    prints a list of possible options with values, and
-
-      npsol_options ("major print level", 10)
-
-    sets the major print level to 10.
-
-    The keyword match is not case sensitive, and the keywords may be
-    abbreviated to the shortest unique match.  For example,
-
-      npsol_options ("ma p", 10)
-
-    is equivalent to the statement shown above.
-
-  * The new built-in variable save_precision can be used to set the
-    number of digits preserved by the ASCII save command.
-
-  * Assignment of [] now works in most cases to allow you to delete
-    rows or columns of matrices and vectors.  For example, given a
-    4x5 matrix A, the assignment
-
-      A (3, :) = []
-
-    deletes the third row of A, and the assignment
-
-      A (:, 1:2:5) = []
-
-    deletes the first, third, and fifth columns.
-
-  * Variable argument lists.  Octave now has a real mechanism for
-    handling functions that take an unspecified number of arguments,
-    so it is no longer necessary to place an upper bound on the number
-    of optional arguments that a function can accept.
-
-    Here is an example of a function that uses the new syntax to print
-    a header followed by an unspecified number of values:
-
-      function foo (heading, ...)
-        disp (heading);
-        va_start ();
-        while (--nargin)
-          disp (va_arg ());
-        endwhile
-      endfunction
-
-    Note that the argument list must contain at least one named
-    argument (this restriction may eventually be removed), and the
-    ellipsis must appear as the last element of the argument list.
-
-    Calling va_start() positions an internal pointer to the first
-    unnamed argument and allows you to cycle through the arguments
-    more than once.  It is not necessary to call va_start() if you
-    do not plan to cycle through the arguments more than once.
-
-  * Recursive functions should work now.
-
-  * The environment variable OCTAVE_PATH is now handled in the same
-    way as TeX handles TEXINPUTS.  If the path starts with `:', the
-    standard path is prepended to the value obtained from the
-    environment.  If it ends with `:' the standard path is appended to
-    the value obtained from the environment.
-
-  * New functions, from Kurt Hornik (hornik@neuro.tuwien.ac.at) and
-    the Department of Probability Theory and Statistics TU Wien,
-    Austria:
-
-     corrcoef    -- corrcoef (X, Y) is the correlation between the i-th
-                    variable in X and the j-th variable in Y
-                    corrcoef (X) is corrcoef (X, X)
-     cov         -- cov (X, Y) is the covariance between the i-th
-                    variable in X and the j-th variable in Y
-                    cov (X) is cov (X, X)
-     gls         -- generalized least squares estimation
-     kurtosis    -- kurtosis(x) = N^(-1) std(x)^(-4) SUM_i (x(i)-mean(x))^4 - 3
-                    If x is a matrix, return the row vector containing
-                    the kurtosis of each column
-     mahalanobis -- returns Mahalanobis' D-square distance between the
-                    multivariate samples X and Y, which must have the
-                    same number of components (columns), but may have
-                    a different number of observations (rows)
-     ols         -- ordinary least squares estimation
-     pinv        -- returns the pseudoinverse of X; singular values
-                    less than tol are ignored
-     skewness    -- skewness (x) = N^(-1) std(x)^(-3) SUM_i (x(i)-mean(x))^3
-                    if x is a matrix, return the row vector containing
-                    the skewness of each column
-
-  * Errors in user-supplied functions called from dassl, fsolve,
-    lsode, npsol, and quad are handled more gracefully.
-
-  * Programming errors in the use of the C++ classes within Octave
-    should no longer cause Octave to abort.  Instead, Octave's error
-    handler function is called and execution continues as best as is
-    possible.  This should result in eventually returning control to
-    the top-level Octave prompt.  (It would be nice to have a real
-    exception handling mechanism...)
-
-  * A number of memory leaks have been eliminated.  Thanks to
-    Fong Kin Fui <fui@ee.nus.sg> for reporting them.
-
-  * The C++ matrix classes are now derived from a generic
-    template-based array class.
-
-  * The readline function operate-and-get-next (from bash) is now
-    available and bound to C-O by default.
-
-  * Octave now uses the version of readline currently distributed with
-    bash-1.13.  On some systems, interactive invocations of Octave
-    will now blink the cursor to show matching parens.
-
-  * By default, include files are now installed in
-    $prefix/include/octave instead of $prefix/include.
-
-  * Octave now uses a config.h file instead of putting all defines on
-    the compiler command line.
-</pre>
-
-<h2>Summary of changes for version 0.79</h2>
-
-<pre>
-  * New control systems functions:
-
-     dgram -- Returns the discrete controllability and observability gramian.
-     dlqr  -- Discrete linear quadratic regulator design.
-     dlqe  -- Discrete linear quadratic estimator (Kalman Filter) design.
-     c2d   -- Convert continuous system description to discrete time
-              description assuming zero-order hold and given sample time.
-
-  * The max (min) functions can now return the index of the max (min)
-    value as a second return value.
-</pre>
-
-<h2>Summary of changes for version 0.78</h2>
-
-<pre>
-  * Octave's handling of global variables has been completely
-    rewritten.  To access global variables inside a function, you must
-    now declare them to be global within the function body.  Likewise,
-    if you do not declare a variable as global at the command line,
-    you will not have access to it within a function, even if it is
-    declared global there.  For example, given the function
-
-      function f ()
-        global x = 1;
-        y = 2;
-      endfunction
-
-    the global variable `x' is not visible at the top level until the
-    command
-
-      octave:13> global x
-
-    has been evaluated, and the variable `y' remains local to the
-    function f() even if it is declared global at the top level.
-
-    Clearing a global variable at the top level will remove its global
-    scope and leave it undefined.  For example,
-
-      octave:1> function f ()   # Define a function that accesses
-      >  global x;              #   the global variable `x'.
-      >  x
-      > endfunction
-      octave:2> global x = 1    # Give the variable `x' a value.
-      octave:3> f ()            # Evaluating the function accesses the
-      x = 1                     #   global `x'.
-      octave:4> clear x         # Remove `x' from global scope, clear value.
-      octave:5> x = 2           # Define new local `x' at the top level
-      x = 2
-      octave:6> f               # The global `x' is no longer defined.
-      error: `x' undefined near line 1 column 25
-      error: evaluating expression near line 1, column 25
-      error: called from `f'
-      octave:7> x               # But the local one is.
-      x = 2
-
-  * The new function, `is_global (string)' returns 1 if the variable
-    named by string is globally visible.  Otherwise, returns 0.
-
-  * The implementation of `who' has changed.  It now accepts the
-    following options:
-
-      -b -builtins   -- display info for built-in variables and functions
-      -f -functions  -- display info for currently compiled functions
-      -v -variables  -- display info for user variables
-      -l -long       -- display long info
-
-    The long output looks like this:
-
-      octave:5> who -l
-
-      *** currently compiled functions:
-
-      prot  type               rows   cols  name
-      ====  ====               ====   ====  ====
-       wd   user function         -      -  f
-
-      *** local user variables:
-
-      prot  type               rows   cols  name
-      ====  ====               ====   ====  ====
-       wd   real scalar           1      1  y
-
-      *** globally visible user variables:
-
-      prot  type               rows   cols  name
-      ====  ====               ====   ====  ====
-       wd   complex matrix       13     13  x
-
-    where the first character of the `protection' field is `w' if the
-    symbol can be redefined, and `-' if it has read-only access.  The
-    second character may be `d' if the symbol can be deleted, or `-'
-    if the symbol cannot be cleared.
-
-  * The new built-in variable ignore_function_time_stamp can be used
-    to prevent Octave from calling stat() each time it looks up
-    functions defined in M-files.  If set to "system", Octave will not
-    automatically recompile M-files in subdirectories of
-    $OCTAVE_HOME/lib/VERSION if they have changed since they were last
-    compiled, but will recompile other M-files in the LOADPATH if they
-    change.  If set to "all", Octave will not recompile any M-files
-    unless their definitions are removed with clear.  For any other
-    value of ignore_function_time_stamp, Octave will always check to
-    see if functions defined in M-files need to recompiled.  The
-    default value of ignore_function_time_stamp is "system".
-
-  * The new built-in variable EDITOR can be used to specify the editor
-    for the edit_history command.  It is set to the value of the
-    environment variable EDITOR, or `vi' if EDITOR is not set, or is
-    empty.
-
-  * There is a new built-in variable, INFO_FILE, which is used as the
-    location of the info file.  Its initial value is
-    $OCTAVE_HOME/info/octave.info, so `help -i' should now work
-    provided that OCTAVE_HOME is set correctly, even if Octave is
-    installed in a directory different from that specified at compile
-    time.
-
-  * There is a new command line option, --info-file FILE, that may be
-    used to set Octave's idea of the location of the info file.  It
-    will override any value of OCTAVE_INFO_FILE found in the
-    environment, but not any INFO_FILE="filename" commands found in
-    the system or user startup files. 
-
-  * Octave's Info reader will now recognize gzipped files that have
-    names ending in `.gz'.
-
-  * The save command now accepts regular expressions as arguments.
-    Note that these patterns are regular expressions, and do not work
-    like filename globbing.  For example, given the variables `a',
-    `aa', and `a1', the command `save a*' saves `a' and `aa' but not
-    `a1'.  To match all variables beginning with `a', you must use an
-    expression like `a.*' (match all sequences beginning with `a'
-    followed by zero or more characters).
-
-  * Line and column information is included in more error messages.
-</pre>
-
-<h2>Summary of changes for version 0.77</h2>
-
-<pre>
-  * Improved help.  The command `help -i topic' now uses the GNU Info
-    browser to display help for the given topic directly from the
-    Texinfo documenation.
-
-  * New function: chol -- Cholesky factorization.
-</pre>
-
-<h2>Summary of changes for version 0.76</h2>
-
-<pre>
-  * Better run-time error messages.  Many now include line and column
-    information indicating where the error occurred.  Octave will also
-    print a traceback for errors occurring inside functions. If you
-    find error messages that could use improvement, or errors that
-    Octave fails to catch, please send a bug report to
-    bug-octave@bevo.che.wisc.edu.
-
-  * If gplot (or gsplot) is given a string to plot, and the string
-    does not name a file, Octave will pass the string along to gnuplot
-    directly.  This allows commands like
-
-      gplot "sin (x)" w l, data w p
-
-    to work (assuming that data is a variable containing a matrix of
-    values).
-
-  * Long options (--help, --version, etc.) are supported.
-</pre>
-
-<h2>Summary of changes for version 0.75</h2>
-
-<pre>
-  * The documentation is much more complete, but still could use a lot
-    of work.
-
-  * The history function now prints line numbers by default.  The
-    command `history -q' will  omit them.
-
-  * The clear function now accepts regular expressions.
-
-  * If gplot (or gsplot) is given a string to plot, and the string
-    names a file, Octave attempts to plot the contents of the file.
-
-  * New functions:
-
-    history:
-
-      run_history  -- run commands from the history list.
-      edit_history -- edit commands from the history list with your
-                      favorite editor.
-
-    linear algebra:
-
-      balance         -- Balancing for algebraic and generalized
-                         eigenvalue problems.
-      givens          -- Givens rotation.
-      is_square       -- Check to see if a matrix is square.
-      qzhess          -- QZ decomposition of the matrix pencil (a - lambda b).
-      qzval           -- Generalized eigenvalues for real matrices.
-      syl             -- Sylvester equation solver.
-
-    control systems:
-
-      is_symmetric    -- Check to see if a matrix is symmetric.
-      abcddim         -- Check dimensions of linear dynamic system [A,B,C,D].
-      is_controllable -- Check to see if [A,B,C,D] is controllable.
-      is_observable   -- Check to see if [A,B,C,D] is observable.
-      are             -- Solve algebraic Ricatti equation.
-      dare            -- Solve discrete-time algebraic Ricatti equation.
-      lqe             -- Kalman filter design for continuous linear system.
-      lqr             -- Linear Quadratic Regulator design.
-      lyap            -- Solve Lyapunov equation.
-      dlyap           -- Solve discrete Lyapunov equation.
-      tzero           -- Compute the transmission zeros of [A,B,C,D].
-</pre>
-
-<h2>Summary of changes for version 0.74</h2>
-
-<pre>
-  * Formal parameters to functions are now always considered to be
-    local variables, so things like
-
-      global x = 0
-      global y = 0
-      function y = f (x) x = 1; y = x; end
-      f (x)
-
-    result in the function returning 1, with the global values of x
-    and y unchanged.
-
-  * Multiple assignment expressions are now allowed to take indices,
-    so things like
-
-      octave:13> [a([1,2],[3,4]), b([5,6],[7,8])] = lu ([1,2;3,4])
-
-    will work correctly.
-</pre>
-
-<h2>Summary of changes for version 0.73</h2>
-
-<pre>
-  * Saving and loading global variables works correctly now.
-
-  * The save command no longer saves built-in variables.
-
-  * Global variables are more reliable.
-
-  * Matrices may now have one or both dimensions zero, so that
-    operations on empty matrices are now handled more consistently.
-
-    By default, dimensions of the empty matrix are now printed along
-    with the empty matrix symbol, `[]'.  For example:
-
-      octave:13> zeros (3, 0)
-      ans = 
-
-      [](3x0)
-
-    The new variable `print_empty_dimensions' controls this behavior.
-    
-    See also Carl de Boor, An Empty Exercise, SIGNUM, Volume 25,
-    pages 2--6, 1990, or C. N. Nett and W. M. Haddad, A
-    System-Theoretic Appropriate Realization of the Empty Matrix
-    Concept, IEEE Transactions on Automatic Control, Volume 38,
-    Number 5, May 1993.
-
-  * The right and left division operators `/' and `\' will now find a
-    minimum norm solution if the system is not square, or if the
-    coefficient matrix is singular.
-
-  * New functions:
-
-      hess   -- Hessenberg decomposition
-      schur  -- Ordered Schur factorization
-      perror -- print error messages corresponding to error codes
-                returned from the functions fsolve, npsol, and qpsol
-                (with others to possibly be added later).
-
-  * Octave now prints a warning if it finds anything other than
-    whitespace or comments after the final `end' or `endfunction'
-    statement.
-
-  * The bodies of functions, and the for, while, and if commands are
-    now allowed to be empty.
-
-  * Support for Gill and Murray's QPSOL has been added.  Like NPSOL,
-    QPSOL is not freely redistributable either, so you must obtain
-    your own copy to be able to use this feature.  More information
-    about where to find QPSOL and NPSOL are in the file README.NLP.
-</pre>
-
-<h2>Summary of changes for version 0.72</h2>
-
-<pre>
-  * For numeric output, columns are now lined up on the decimal point.
-    (This requires libg++-2.3.1 or later to work correctly).
-
-  * If octave is running interactively and the output intended for the
-    screen is longer than one page and a pager is available, it is
-    sent to the pager through a pipe.  You may specify the program to
-    use as the pager by setting the variable PAGER.  PAGER may also
-    specify a command pipeline.
-
-  * Spaces are not always significant inside square brackets now, so
-    commands like
-
-      [ linspace (1, 2) ]
-
-    will work.  However, some possible sources of confusion remain
-    because Octave tries (possibly too hard) to determine exactly what
-    operation is intended from the context surrounding an operator.
-    For example:
-
-    -- In the command 
-
-         [ 1 - 1 ]
-
-       the `-' is treated as a binary operator and the result is the
-       scalar 0, but in the command
-
-         [ 1 -1 ]
-
-       the `-' is treated as a unary operator and the result is the
-       vector [ 1 -1 ].
-
-    -- In the command
-
-         a = 1; [ 1 a' ]
-
-       the single quote character `'' is treated as a transpose operator
-       and the result is the vector [ 1 1 ], but in the command
-
-         a = 1; [ 1 a ' ]
-
-       an error message indicating an unterminated string constant is
-       printed.
-
-  * Assignments are just expressions now, so they are valid anywhere
-    other expressions are.  This means that things like
-
-      if (a = n < m) ... endif
-
-    are valid.  This is parsed as:  compare `n < m', assign the result
-    to the variable `a', and use it as the test expression in the if
-    statement.
-
-    To help avoid errors where `=' has been used but `==' was
-    intended, Octave issues a warning suggesting parenthesis around
-    assignments used as truth values.  You can suppress this warning
-    by adding parenthesis, or by setting the value of the new built-in
-    variable `warn_assign_as_truth_value' to 'false' (the default
-    value is 'true').
-
-    This is also true for multiple assignments, so expressions like
-
-      [a, b, c] = [u, s, v] = expression
-
-    are now possible.  If the expression is a function, nargout is set
-    to the number of arguments for the right-most assignment.  The
-    other assignments need not contain the same number of elements.
-    Extra left hand side variables in an assignment become undefined.
-
-  * The default line style for plots is now `lines' instead of
-    `points'.  To change it, use the `set data style STYLE' command.
-
-  * New file handling and I/O functions:
-
-      fopen    -- open a file for reading or writing
-      fclose   -- close a file
-      fflush   -- flush output to a file
-      fgets    -- read characters from a file
-      frewind  -- set file position to the beginning of a file
-      fseek    -- set file position
-      ftell    -- tell file position
-      freport  -- print a report for all open files
-      fscanf   -- read from a file
-      sscanf   -- read from a string
-      scanf    -- read from the standard input
-
-  * New built-in variables for file and I/O functions:
-
-      stdin    -- file number corresponding to the standard input stream.
-      stdout   -- file number corresponding to the standard output stream.
-      stderr   -- file number corresponding to the standard error stream.
-
-    The following may be used as the final (optional) argument for
-    fseek: 
-
-      SEEK_SET -- set position relative to the beginning of the file.
-      SEEK_CUR -- set position relative to the current position.
-      SEEK_END -- set position relative to the end of the file.
-
-  * New function: setstr -- convert vectors or scalars to strings
-    (doesn't work for matrices yet).
-
-  * If possible, computer now prints the system type instead of
-    always printing `Hi Dave, I'm a HAL-9000'.
-
-  * Octave now properly saves and restores its internal state
-    correctly in more places.  Interrupting Octave while it is
-    executing a script file no longer causes it to exit.
-
-  * Octave now does tilde expansion on each element of the LOADPATH.
-
-  * A number of memory leaks have been plugged.
-
-  * Dependencies for C++ source files are now generated automatically
-    by g++.
-
-  * There is a new command line option, -p PATH, that may be used to
-    set Octave's loadpath from the command line.  It will override any
-    value of OCTAVE_PATH found in the environment, but not any
-    LOADPATH="path" commands found in the system or user startup files.
-
-  * It is now possible to override Octave's default idea of the
-    location of the system-wide startup file (usually stored in
-    $(prefix)/lib/octave/octaverc) using the environment variable
-    OCTAVE_HOME.  If OCTAVE_HOME has a value, Octave will look for
-    octaverc and its M-files in the directory $OCTAVE_HOME/lib/octave.
-
-    This allows people who are using binary distributions (as is
-    common with systems like Linux) to install the real octave binary
-    in any directory (using a name like octave.bin) and then install
-    a simple script like this
-
-      #!/bin/sh
-      OCTAVE_HOME=/foo/bar/baz
-      export OCTAVE_HOME
-      exec octave.bin
-
-    to be invoked as octave.
-
-</pre>
-
-<h2>Summary of changes for version 0.71</h2>
-
-<pre>
-  * Much improved plotting facility.  With this release, Octave does
-    not require a specially modified version of gnuplot, so gnuplot
-    sources are no longer distributed with Octave.  For a more
-    detailed description of the new plotting features, see the file
-    PLOTTING.
-
-  * New plotting commands:
-
-      plot            -- 2D plots
-      semilogx        -- 2D semilog plot with logscale on the x axis
-      semilogy        -- 2D semilog plot with logscale on the y axis
-      loglog          -- 2D log-log plot
-      mesh            -- 3D mesh plot
-      meshdom         -- create matrices for 3D plotting from two vectors
-      contour         -- contour plots of 3D data
-      bar             -- create bar graphs
-      stairs          -- create stairstep plots
-      polar           -- 2D plots from theta-R data
-      grid            -- turn plot grid lines on or off
-      xlabel, ylabel  -- place labels on the x and y axes of 2D plots
-      sombrero        -- demonstrate 3D plotting
-      gplot           -- 2D plot command with gnuplot-like syntax
-      gsplot          -- 3D plot command with gnuplot-like syntax
-      set             -- set plot options with gnuplot syntax
-      show            -- show plot options with gnuplot syntax
-      closeplot       -- close stream to gnuplot process
-      purge_tmp_files -- delete temporary files created by plot command
-
-  * Other new commands:
-
-      ls, dir         -- print a directory listing
-      shell_cmd       -- execute shell commands
-      keyboard        -- get input from keyboard, useful for debugging
-      menu            -- display a menu of options and ask for input
-      fft             -- fast fourier transform
-      ifft            -- inverse fast fourier transform
-
-  * Strings may be enclosed in either single or double quote
-    characters.  Double quote characters are not special within single
-    quote strings, and single quotes are not special within double
-    quote strings.
-
-  * Command name completion now works for M-file names too.
-
-  * Better help and usage messages for many functions.
-
-  * Help is now available for functions defined in M-files.  The first
-    block of comments is taken as the text of the help message.
-
-  * Numerous changes in preparation to support dynamic loading of
-    object files with dld.
-
-  * Bug fixes to make solving DAEs with dassl actually work.
-
-  * The command `save file' now saves all variables in the named file.
-
-  * If do_fortran_indexing is 'true', indexing a scalar with
-    [1,1,1,...] (n times) replicates its value n times.  The
-    orientation of the resulting vector depends on the value of
-    prefer_column_vectors.
-
-  * Things like [[1,2][3,4]] no longer cause core dumps, and invalid
-    input like [1,2;3,4,[5,6]] now produces a diagnositic message.
-
-  * The cd, save, and load commands now do tilde expansion.
-
-  * It's now possible to clear global variables and functions by name.
-
-  * Use of clear inside functions is now a parse error.
-</pre>
-
-<h2>Summary of changes for version 0.70</h2>
-
-<pre>
-  * Better parse error diagnostics.  For interactive input, you get
-    messages like
-
-      octave:1> a = 3 + * 4;
-
-      parse error:
-
-          a = 3 + * 4;
-                  ^
-
-    and for script files, the message includes the file name and input
-    line number:
-
-      octave:1> foo
-
-      parse error near line 4 of file foo.m:
-
-          a = 3 + * 4;
-                  ^
-
-  * New built-in variable PS2 which is used as the secondary prompt.
-    The default value is '> '.
-
-  * New file, octave-mode.el, for editing Octave code with GNU Emacs.
-    This is a modified version of Matthew R. Wette's matlab-mode.el.
-
-  * Better support for missing math functions.
-
-  * User preferences are now cached in a global struct so we don't
-    have to do a symbol table lookup each time we need to know what
-    they are.  This should mean slightly improved performance for
-    evaluating expressions.
-</pre>
-
-<h2>Summary of changes for version 0.69</h2>
-
-<pre>
-  * Multiple assignments are now possible, so statements like
-
-      a = b = c = 3;
-      a = b = c = [1,2;3,4];
-
-    or
-
-      c = (a = (b = 2) * 3 + 4) * 5
-
-    are legal, as are things that have even more bizarre effects, like
-
-      a(4:6,4:6) = b(2:3,2:3) = [1,2;3,4];
-
-    (try it).
-
-  * Improved parsing of strings (but they still don't work as matrix
-    elements).
-
-  * An M-file may now either define a function or be a list of
-    commands to execute.
-
-  * Better detection and conditional compilation of IEEE functions
-    isinf, finite, and isnan.
-
-  * Replacements for acosh, asinh, atanh, and gamma from the BSD math
-    library for those systems that don't have them.
-</pre>
-
-<h2>Summary of changes for version 0.68</h2>
-
-<pre>
-  * New functions:
-
-      eval  -- evaluate a string as a sequence of Octave commands. 
-      input -- print a prompt and get user input.
-</pre>
-
-<h2>Summary of changes for version 0.67</h2>
-
-<pre>
-  * New functions:
-
-      find -- return the indices of nonzero elements.
-
-  * Zero-one style indexing now works.  For example,
-
-      a = [1,2,3,4];
-      b = a([1,0,0,1])
-
-    sets b to the first and fourth elememnts of a.
-
-    Zero-one style indexing also works for indexing the left hand side
-    of an assignment.  For example,
-
-      a = rand (1,2;3,4);
-      a([0,1],:) = [-1,-2]
-
-    sets the second row of a to [-1 -2]
-
-    The behavior for the ambiguous case
-
-      a = [1,2,3,4];
-      b = a([1,1,1,1]);
-
-    is controlled by the new global variable `prefer_zero_one_indexing'.
-    If this variable is equal to 'true', b will be set to [1 2 3 4].
-    If it is false, b will be set to [1 1 1 1].  The default value is
-    'false'.
-
-  * Using the new global variable `propagate_empty_matrices', it is
-    possible to have unary andy binary operations on empty matrices
-    return an empty matrix.  The default value of this variable is
-    'warn', so that empty matrices are propagated but you get a
-    warning.  Some functions, like eig and svd have also been changed
-    to handle this.
-
-  * Empty matrices can be used in conditionals, but they always
-    evaluate to `false'.  With propagate_empty_matrices = 'true', both
-    of the following expressions print 0: 
-
-      if  [], 1, else 0, end
-      if ~[], 1, else 0, end
-
-  * Octave no longer converts input like `3.2 i' or `3 I' to complex
-    constants directly because that causes problems inside square
-    brackets, where spaces are important.  This abbreviated notation
-    *does* work if there isn't a space between the number and the i,
-    I, j, or J.
-</pre>
-
-<h2>Summary of changes for version 0.66</h2>
-
-<pre>
-  * Logical unary not operator (~ or !) now works for complex.
-
-  * Left division works.
-
-  * Right and left element by element division should work correctly
-    now.
-
-  * Numbers like .3e+2 are no longer errors.
-
-  * Indexing a matrix with a complex value doesn't cause a core dump.
-
-  * The min and max functions should work correctly for two arguments.
-
-  * Improved (I hope!) configuration checks.
-
-  * Octave is now installed as octave-M.N, where M and N are version
-    numbers, and octave is a link to that file.  This makes it
-    possible to have more than one version of the interpreter installed.
-</pre>
-
-<h2>Summary of changes for version 0.63</h2>
-
-<pre>
-  * The reshape function works again.
-
-  * Octave now converts input like `3.2i' or `3 I' or `2.3e5 j' to be 
-    complex constants directly, rather than requiring an expression
-    like `3.3 * i' to be evaluated.
-</pre>
-
-<h2>Summary of changes for version 0.61</h2>
-
-<pre>
-  * Octave has been successfully compiled using gcc 2.3.3 and libg++ 2.3.
-    on a 486 system running Linux.
-
-  * The win_texas_lotto function is now called texas_lotto (it's a
-    script file, and win_texas_lotto.m is too long for some Linux and
-    System V systems).
-</pre>
-
-<h2>Summary of changes for version 0.57</h2>
-
-<pre>
-  * The C-like formatted print functions printf, fprintf, and sprintf
-    finally work. 
-</pre>
-
-<h2>Summary of changes for version 0.56</h2>
-
-<pre>
-  * By default, octave prints a short disclaimer when it starts.
-    (You can suppress it by invoking octave with -q).
-
-  * You can keep octave from reading your ~/.octaverc and .octaverc
-    files by invoking it with -f.
-
-  * When returning two values, eig now returns [v, d] instead of
-    [lambda, v], where d is a diagonal matrix made from lambda.
-
-  * The win_texas_lotto function now produces a sorted list.
-
-  * New functions:
-
-      expm -- matrix exponential.
-      logm -- matrix logarithm.
-</pre>
-
-<h2>Summary of changes for version 0.55</h2>
-
-<pre>
-  * The following (C-style) backslash escape sequences work in quoted
-    strings (useful(?) with printf()):
-
-      \a  bell         \r  carriage return
-      \b  backspace    \t  horizontal tab
-      \f  formfeed     \v  vertical tab
-      \n  newline      \\  backslash
-
-  * Use of `...' at the end of a line will allow a statement to
-    continue over more than one line.
-
-  * The names `inf' and `nan' are now aliases for `Inf' and `NaN',
-    respectively.
-
-  * New functions:
-
-      casesen -- print a warning if the luser tries to turn off case
-                 sensitivity.
-      median  -- find median value.
-      norm    -- compute the norm of a matrix.
-      sort    -- sort columns.
-
-  * New variable, `silent_functions'.  If silent_functions == 'true',
-    the results of expressions are not printed even if they are not
-    followed by a semicolon.  The disp() and printf() functions still
-    result in output.  The default value for this variable is 'false'.
-
-  * New variable `return_last_value_computed'.  If it is 'true',
-    functions defined in script files return the last value computed
-    if a return value has not been explicitly declared.  The default
-    value for this variable is 'false'.
-</pre>
-
-<h2>Summary of changes for version 0.52</h2>
-
-<pre>
-  * Name completion works for function and variable names currently in
-    the symbol tables.  Coming soon: completion for names of functions
-    defined in script files but not yet compiled. 
-
-  * The initial value of do_fortran_indexing is now false, and the
-    initial value of prefer_column_vectors is now true.  Swap the
-    values of these variables if you want behavior that is more like
-    Matlab.
-
-  * All script files check the number of input arguments before doing
-    much real work.
-
-  * The identifiers `i' and `j' are now also names for sqrt(-1).
-    These symbols may be used for other purposes, but their original
-    definition will reappear if they are cleared.
-
-  * The symbol tables are now implemented with hash tables for faster
-    searching. 
-
-  * A small amount of help is now available for most built-in
-    operators, keywords and functions.  Coming soon: help for script
-    files.
-
-  * Without any arguments, the help command now lists all known
-    built-in operators, keywords and functions.
-
-  * Generic parse errors are now signalled by `Eh, what's up doc?',
-    which is closer to what Bugs actually says.
-
-  * The who command now only prints variable names by default.
-    Use the -fcn (or -fcns, or -functions) switch to print the names of
-    built-in or currently compiled functions.
-</pre>
-
-<h2>Summary of changes for version 0.51</h2>
-
-<pre>
-  * Major overhaul of array indexing.
-
-  * The colloc function actually works now.
-</pre>
-
-<h2>Summary of changes for version 0.50</h2>
-
-<pre>
-  * The lsode and dassl functions now return the states only,
-    instead of the time and the states, so you must keep track of
-    the corresponding times (this is easy though, because you have
-    to specify a vector of desired output times anyway).
-
-  * Solution of NLPs with NPSOL now works on the SPARC.
-
-  * New keywords `endif', `endfor', `endfunction', `endif', and
-    `endwhile', which allow for better diagnostics.  The `end' keyword
-    is still recognized.  All script files have been changed to use
-    these new keywords in place of `end'.
-
-  * It is now possible to uninstall Octave by doing a `make uninstall'
-    in the top level directory.
-
-  * The Makefiles are much closer to conforming with GNU coding standards.
-
-  * New functions:
-
-      win_texas_lotto  -- produce six unique random numbers between 1 and 50.
-      quad             -- numerical integration.
-      lu               -- LU factorization
-      qr               -- QR factorization
-      dassl            -- Solution of DAEs using DASSL.
-
-  * New files:
-
-      THANKS -- A list of people and organazations who have supported
-                the development of Octave.
-
-      NEWS   -- This file, listing recent changes.
-
-  * Help is now available at the gnuplot prompt.
-</pre>
-
-</body>
-</html>
--- a/NEWS-2.html	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1274 +0,0 @@
-<!doctype html public "-//IETF//DTD HTML Strict//EN">
-<html>
-<head>
-<title> Changes in Octave version 2 </title>
-</head>
-
-<body>
-<h1> News for Octave Version 2 </h1>
-<hr>
-
-<h2>Summary of changes for version 2.0.17</h2>
-
-<p>This will probably be the last release in the 2.0.x series.  There are
-a few bug fixes, but the major change is to print a message saying
-that Octave 2.0.x cannot be compiled with gcc 3.0.x or gcc 2.96.  If
-you want to build Octave 2.0.x, you will need to use gcc 2.95.x.  If
-you want to use gcc 3.0.x or some later version, you should be using
-the Octave 2.1.35 sources or a more recent version.</p>
-
-<h2>Summary of changes for version 2.0.16</h2>
-
-<p>This is primarily a bug-fixing release.</p>
-
-<h2>Summary of changes for version 2.0.15</h2>
-
-<p>This is primarily a bug-fixing release.</p>
-
-<ul>
-<li>If you are using GNU Emacs 19.34 or earlier, you will need to add
-    the following code to your ~/.emacs file in order to use Emacs
-    Octave mode:
-<pre>
-      ;; Set up the custom library.
-      ;; taken from http://www.dina.kvl.dk/~abraham/custom/
-      (eval-and-compile
-	(condition-case ()
-	    (require 'custom)
-	  (error nil))
-	(if (and (featurep 'custom) (fboundp 'custom-declare-variable))
-	    nil ;; We've got what we needed
-	  ;; We have the old custom-library, hack around it!
-	  (defmacro defgroup (&rest args)
-	    nil)
-	  (defmacro defcustom (var value doc &rest args) 
-	    (` (defvar (, var) (, value) (, doc))))))
-</pre></li>
-</ul>
-
-<h2>Summary of changes for version 2.0.14</h2>
-
-This release fixes numerous bugs and adds the following new features:
-
-<ul>
-<li>argv is now padded with blanks instead of ASCII NUL.</li>
-
-<li>New functions:
-<dl>
-<dt><b>besselh</b></dt>
-Hankel functions of the first and second kind
-<dt><b>airy</b></dt>
-Airy functions of the first and second kind, and
-                  their derivatives
-</dl></li>
-
-<li>The Bessel functions now accept complex values for the argument
-    and any real value for the order.</li>
-
-<li>The value of LOADPATH set by the environment variable
-    OCTAVE_PATH, the -p or --path command line options, or on the
-    command line is no longer modified to include the default path.
-    Instead it is left as specified.  Its default value is now ":",
-    which tells Octave to search the default path, and the new
-    built-in variable DEFAULT_LOADPATH contains the default list of
-    directories to search.  </li>
-
-<li>The function file_in_path no longer does any special processing of
-    its PATH argument.  To search LOADPATH for files, it is now
-    generally better to use the new function file_in_loadpath.</li>
-
-<li>If fread is given a skip parameter, the skip is performed after
-    the read instead of before (for compatibility with Matlab).</li>
-
-<li>The new built-in variable `crash_dumps_octave_core' controls
-    whether Octave writes user variables to the file `octave-core'
-    when it crashes or is killed by a signal.  The default value is 1
-    (0 if you use --traditional).</li>
-
-<li>If LOADPATH contains a doubled colon, the default path is inserted
-    in its place.  This is similar to the substitution that also takes
-    place for leading or trailing colons in the LOADPATH.</li>
-
-<li>Loops of the form `for i = STRING ... endfor' are now allowed.</li>
-
-<li>It is now possible to set the iteration limit for lsode using
-    lsode_options ("step limit", N).</li>
-
-<li>New functions:
-<dl>
-<dt><b>is_complex</b></dt>
-tell whether a value is complex
-<dt><b>isnumeric</b></dt>
-tell whether a value is a numeric object
-<dt><b>isfinite</b></dt>
-find finite elements of a matrix object
-<dt><b>rehash</b></dt>
-re-initialize the cache of directories in LOADPATH
-<dt><b>graw</b></dt>
-send a string to the gnuplot subprocess
-</dl></li>
-
-<li>New functions from Kurt Hornik's Octave-ci package:
-<ul>
-<li>In finance (new directory):
-<dl>
-<dt><b>fv</b></dt>
-<dd>future value of an investment</dd>
-<dt><b>fvl</b></dt>
-<dd>future value of an initial lump sum investment</dd>
-<dt><b>irr</b></dt>
-<dd>internal rate of return of an investment</dd>
-<dt><b>nper</b></dt>
-<dd>number of payments needed for amortizing a loan</dd>
-<dt><b>npv</b></dt>
-<dd>net present value of a series of payments</dd>
-<dt><b>pmt</b></dt>
-<dd>amount of periodic payment needed to amortize a loan</dd>
-<dt><b>pv</b></dt>
-<dd>present value of an investment</dd>
-<dt><b>pvl</b></dt>
-<dd>present value of an investment that pays off at the end</dd>
-<dt><b>rate</b></dt>
-<dd>rate of return of an investment</dd>
-<dt><b>vol</b></dt>
-<dd>volatility of financial time series data</dd>
-</dl></li>
-
-<li>In linear-algebra:
-<dl>
-<dt><b>dmult</b></dt>
-<dd>rescale the rows of a matrix</dd>
-</dl></li>
-
-<li>In signal:
-<dl>
-<dt><b>arch_fit</b></dt>
-<dd>fit an ARCH regression model</dd>
-<dt><b>arch_rnd</b></dt>
-<dd>simulate an ARCH process</dd>
-<dt><b>arch_test</b></dt>
-<dd>test for conditional heteroscedascity</dd>
-<dt><b>arma_rnd</b></dt>
-<dd>simulate an ARMA process</dd>
-<dt><b>autocor</b></dt>
-<dd>compute autocorrelations</dd>
-<dt><b>autocov</b></dt>
-<dd>compute autocovariances</dd>
-<dt><b>autoreg_matrix</b></dt>
-<dd>design matrix for autoregressions</dd>
-<dt><b>bartlett</b></dt>
-<dd>coefficients of the Bartlett (triangular) window</dd>
-<dt><b>blackman</b></dt>
-<dd>coefficients of the Blackman window</dd>
-<dt><b>diffpara</b></dt>
-<dd>estimate the fractional differencing parameter</dd>
-<dt><b>durbinlevinson</b></dt>
-<dd>perform one step of the Durbin-Levinson algorithm</dd>
-<dt><b>fractdiff</b></dt>
-<dd>compute fractional differences</dd>
-<dt><b>hamming</b></dt>
-<dd>coefficients of the Hamming window</dd>
-<dt><b>hanning</b></dt>
-<dd>coefficients of the Hanning window</dd>
-<dt><b>hurst</b></dt>
-<dd>estimate the Hurst parameter</dd>
-<dt><b>periodogram</b></dt>
-<dd>compute the periodogram</dd>
-<dt><b>rectangle_lw</b></dt>
-<dd>rectangular lag window</dd>
-<dt><b>rectangle_sw</b></dt>
-<dd>rectangular spectral window</dd>
-<dt><b>sinetone</b></dt>
-<dd>compute a sine tone</dd>
-<dt><b>sinewave</b></dt>
-<dd>compute a sine wave</dd>
-<dt><b>spectral_adf</b></dt>
-<dd>spectral density estimation</dd>
-<dt><b>spectral_xdf</b></dt>
-<dd>spectral density estimation</dd>
-<dt><b>spencer</b></dt>
-<dd>apply Spencer's 15-point MA filter</dd>
-<dt><b>stft</b></dt>
-<dd>short-term Fourier transform</dd>
-<dt><b>synthesis</b></dt>
-<dd>recover a signal from its short-term Fourier transform</dd>
-<dt><b>triangle_lw</b></dt>
-<dd>triangular lag window</dd>
-<dt><b>triangle_sw</b></dt>
-<dd>triangular spectral window</dd>
-<dt><b>yulewalker</b></dt>
-<dd>fit AR model by Yule-Walker method</dd>
-</dl></li>
-
-<li>In statistics/base (new directory):
-<dl>
-<dt><b>center</b></dt>
-<dd>center by subtracting means</dd>
-<dt><b>cloglog</b></dt>
-<dd>complementary log-log function</dd>
-<dt><b>cor</b></dt>
-<dd>compute correlations</dd>
-<dt><b>cov</b></dt>
-<dd>compute covariances</dd>
-<dt><b>cut</b></dt>
-<dd>cut data into intervals</dd>
-<dt><b>iqr</b></dt>
-<dd>interquartile range</dd>
-<dt><b>kendall</b></dt>
-<dd>kendall's rank correlation tau</dd>
-<dt><b>logit</b></dt>
-<dd>logit transformation</dd>
-<dt><b>mean</b></dt>
-<dd>compute arithmetic, geometric, and harmonic mean</dd>
-<dt><b>meansq</b></dt>
-<dd>compute mean square</dd>
-<dt><b>moment</b></dt>
-<dd>compute moments</dd>
-<dt><b>ppplot</b></dt>
-<dd>perform a PP-plot (probability plot)</dd>
-<dt><b>probit</b></dt>
-<dd>probit transformation</dd>
-<dt><b>qqplot</b></dt>
-<dd>perform a QQ-plot (quantile plot)</dd>
-<dt><b>range</b></dt>
-<dd>compute range</dd>
-<dt><b>ranks</b></dt>
-<dd>compute ranks</dd>
-<dt><b>run_count</b></dt>
-<dd>count upward runs</dd>
-<dt><b>spearman</b></dt>
-<dd>spearman's rank correlation rho</dd>
-<dt><b>statistics</b></dt>
-<dd>compute basic statistics</dd>
-<dt><b>studentize</b></dt>
-<dd>subtract mean and divide by standard deviation</dd>
-<dt><b>table</b></dt>
-<dd>cross tabulation</dd>
-<dt><b>values</b></dt>
-<dd>extract unique elements</dd>
-<dt><b>var</b></dt>
-<dd>compute variance</dd>
-</dl></li>
-
-<li>In statistics/distributions (new directory):
-<dl>
-<dt><b>beta_cdf</b></dt>
-<dd>CDF of the Beta distribution</dd>
-<dt><b>beta_inv</b></dt>
-<dd>Quantile function of the Beta distribution</dd>
-<dt><b>beta_pdf</b></dt>
-<dd>PDF of the Beta distribution</dd>
-<dt><b>beta_rnd</b></dt>
-<dd>Random deviates from the Beta distribution
-</dd>
-<dt><b>binomial_cdf</b></dt>
-<dd>CDF of the binomial distribution</dd>
-<dt><b>binomial_inv</b></dt>
-<dd>Quantile function of the binomial distribution</dd>
-<dt><b>binomial_pdf</b></dt>
-<dd>PDF of the binomial distribution</dd>
-<dt><b>binomial_rnd</b></dt>
-<dd>Random deviates from the binomial distribution
-</dd>
-<dt><b>cauchy_cdf</b></dt>
-<dd>CDF of the Cauchy distribution</dd>
-<dt><b>cauchy_inv</b></dt>
-<dd>Quantile function of the Cauchy distribution</dd>
-<dt><b>cauchy_pdf</b></dt>
-<dd>PDF of the Cauchy distribution</dd>
-<dt><b>cauchy_rnd</b></dt>
-<dd>Random deviates from the Cauchy distribution
-</dd>
-<dt><b>chisquare_cdf</b></dt>
-<dd>CDF of the chi-square distribution</dd>
-<dt><b>chisquare_inv</b></dt>
-<dd>Quantile function of the chi-square distribution</dd>
-<dt><b>chisquare_pdf</b></dt>
-<dd>PDF of the chi-sqaure distribution</dd>
-<dt><b>chisquare_rnd</b></dt>
-<dd>Random deviates from the chi-square distribution
-</dd>
-<dt><b>discrete_cdf</b></dt>
-<dd>CDF of a discrete distribution</dd>
-<dt><b>discrete_inv</b></dt>
-<dd>Quantile function of a discrete distribution</dd>
-<dt><b>discrete_pdf</b></dt>
-<dd>PDF of a discrete distribution</dd>
-<dt><b>discrete_rnd</b></dt>
-<dd>Random deviates from a discrete distribution
-</dd>
-<dt><b>empirical_cdf</b></dt>
-<dd>CDF of the empirical distribution</dd>
-<dt><b>empirical_inv</b></dt>
-<dd>Quantile function of the empirical distribution</dd>
-<dt><b>empirical_pdf</b></dt>
-<dd>PDF of the empirical distribution</dd>
-<dt><b>empirical_rnd</b></dt>
-<dd>Bootstrap samples from the empirical distribution
-</dd>
-<dt><b>exponential_cdf</b></dt>
-<dd>CDF of the exponential distribution</dd>
-<dt><b>exponential_inv</b></dt>
-<dd>Quantile function of the exponential distribution</dd>
-<dt><b>exponential_pdf</b></dt>
-<dd>PDF of the exponential distribution</dd>
-<dt><b>exponential_rnd</b></dt>
-<dd>Random deviates from the exponential distribution
-</dd>
-<dt><b>f_cdf</b></dt>
-<dd>CDF of the F distribution</dd>
-<dt><b>f_inv</b></dt>
-<dd>Quantile function of the F distribution</dd>
-<dt><b>f_pdf</b></dt>
-<dd>PDF of the F distribution</dd>
-<dt><b>f_rnd</b></dt>
-<dd>Random deviates from the F distribution
-</dd>
-<dt><b>gamma_cdf</b></dt>
-<dd>CDF of the Gamma distribution</dd>
-<dt><b>gamma_inv</b></dt>
-<dd>Quantile function of the Gamma distribution</dd>
-<dt><b>gamma_pdf</b></dt>
-<dd>PDF of the Gamma distribution</dd>
-<dt><b>gamma_rnd</b></dt>
-<dd>Random deviates from the Gamma distribution
-</dd>
-<dt><b>geometric_cdf</b></dt>
-<dd>CDF of the geometric distribution</dd>
-<dt><b>geometric_inv</b></dt>
-<dd>Quantile function of the geometric distribution</dd>
-<dt><b>geometric_pdf</b></dt>
-<dd>PDF of the geometric distribution</dd>
-<dt><b>geometric_rnd</b></dt>
-<dd>Random deviates from the geometric distribution
-</dd>
-<dt><b>hypergeometric_cdf</b></dt>
-<dd>CDF of the hypergeometric distribution</dd>
-<dt><b>hypergeometric_inv</b></dt>
-<dd>Random deviates from hypergeometric distribution</dd>
-<dt><b>hypergeometric_pdf</b></dt>
-<dd>PDF of the hypergeometric distribution</dd>
-<dt><b>hypergeometric_rnd</b></dt>
-<dd>Random deviates from hypergeometric distribution
-</dd>
-<dt><b>kolmogorov_smirnov_cdf</b></dt>
-<dd>CDF of the Kolmogorov-Smirnov distribution
-</dd>
-<dt><b>laplace_cdf</b></dt>
-<dd>CDF of the Laplace distribution</dd>
-<dt><b>laplace_inv</b></dt>
-<dd>Quantile function of the Laplace distribution</dd>
-<dt><b>laplace_pdf</b></dt>
-<dd>PDF of the Laplace distribution</dd>
-<dt><b>laplace_rnd</b></dt>
-<dd>Random deviates from the Laplace distribution
-</dd>
-<dt><b>logistic_cdf</b></dt>
-<dd>CDF of the logistic distribution</dd>
-<dt><b>logistic_inv</b></dt>
-<dd>Quantile function of the logistic distribution</dd>
-<dt><b>logistic_pdf</b></dt>
-<dd>PDF of the logistic distribution</dd>
-<dt><b>logistic_rnd</b></dt>
-<dd>Random deviates from the logistic distribution
-</dd>
-<dt><b>lognormal_cdf</b></dt>
-<dd>CDF of the log normal distribution</dd>
-<dt><b>lognormal_inv</b></dt>
-<dd>Quantile function of the log normal distribution</dd>
-<dt><b>lognormal_pdf</b></dt>
-<dd>PDF of the log normal distribution</dd>
-<dt><b>lognormal_rnd</b></dt>
-<dd>Random deviates from the log normal distribution
-</dd>
-<dt><b>normal_cdf</b></dt>
-<dd>CDF of the normal distribution</dd>
-<dt><b>normal_inv</b></dt>
-<dd>Quantile function of the normal distribution</dd>
-<dt><b>normal_pdf</b></dt>
-<dd>PDF of the normal distribution</dd>
-<dt><b>normal_rnd</b></dt>
-<dd>Random deviates from the normal distribution
-</dd>
-<dt><b>pascal_cdf</b></dt>
-<dd>CDF of the Pascal (negative binomial) distribution</dd>
-<dt><b>pascal_inv</b></dt>
-<dd>Quantile function of the Pascal distribution</dd>
-<dt><b>pascal_pdf</b></dt>
-<dd>PDF of the Pascal (negative binomial) distribution</dd>
-<dt><b>pascal_rnd</b></dt>
-<dd>Random deviates from the Pascal distribution
-</dd>
-<dt><b>poisson_cdf</b></dt>
-<dd>CDF of the Poisson distribution</dd>
-<dt><b>poisson_inv</b></dt>
-<dd>Quantile function of the Poisson distribution</dd>
-<dt><b>poisson_pdf</b></dt>
-<dd>PDF of the Poisson distribution</dd>
-<dt><b>poisson_rnd</b></dt>
-<dd>Random deviates from the Poisson distribution
-</dd>
-<dt><b>stdnormal_cdf</b></dt>
-<dd>CDF of the standard normal distribution</dd>
-<dt><b>stdnormal_inv</b></dt>
-<dd>Quantile function of standard normal distribution</dd>
-<dt><b>stdnormal_pdf</b></dt>
-<dd>PDF of the standard normal distribution</dd>
-<dt><b>stdnormal_rnd</b></dt>
-<dd>Random deviates from standard normal distribution
-</dd>
-<dt><b>t_cdf</b></dt>
-<dd>CDF of the t distribution</dd>
-<dt><b>t_inv</b></dt>
-<dd>Quantile function of the t distribution</dd>
-<dt><b>t_pdf</b></dt>
-<dd>PDF of the t distribution</dd>
-<dt><b>t_rnd</b></dt>
-<dd>Random deviates from the t distribution
-</dd>
-<dt><b>uniform_cdf</b></dt>
-<dd>CDF of the uniform distribution</dd>
-<dt><b>uniform_inv</b></dt>
-<dd>Quantile function of the uniform distribution</dd>
-<dt><b>uniform_pdf</b></dt>
-<dd>PDF of the uniform distribution</dd>
-<dt><b>uniform_rnd</b></dt>
-<dd>Random deviates from the uniform distribution
-</dd>
-<dt><b>weibull_cdf</b></dt>
-<dd>CDF of the Weibull distribution</dd>
-<dt><b>weibull_inv</b></dt>
-<dd>Quantile function of the Weibull distribution</dd>
-<dt><b>weibull_pdf</b></dt>
-<dd>PDF of the Weibull distribution</dd>
-<dt><b>weibull_rnd</b></dt>
-<dd>Random deviates from the Weibull distribution
-</dd>
-<dt><b>wiener_rnd</b></dt>
-<dd>Simulate a Wiener process</dd>
-</dl></li>
-
-<li>In statistics/models (new directory):
-<dl>
-<dt><b>logistic_regression</b></dt>
-<dd>ordinal logistic regression</dd>
-<dt><b>logistic_regression_derivatives</b></dt>
-<dd>derivates of log-likelihood
-                                         in logistic regression</dd>
-<dt><b>logistic_regression_likelihood</b></dt>
-<dd>likelihood in logistic regression</dd>
-</dl></li>
-
-<li>In statistics/tests (new directory):
-<dl>
-<dt><b>anova</b></dt>
-<dd>one-way analysis of variance</dd>
-<dt><b>bartlett_test</b></dt>
-<dd>bartlett test for homogeneity of variances</dd>
-<dt><b>chisquare_test_homogeneity</b></dt>
-<dd>chi-square test for homogeneity</dd>
-<dt><b>chisquare_test_independence</b></dt>
-<dd>chi-square test for independence</dd>
-<dt><b>cor_test</b></dt>
-<dd>test for zero correlation</dd>
-<dt><b>f_test_regression</b></dt>
-<dd>test linear hypotheses in linear
-                                     regression model</dd>
-<dt><b>hotelling_test</b></dt>
-<dd>test for mean of a multivariate normal</dd>
-<dt><b>hotelling_test_2</b></dt>
-<dd>compare means of two multivariate normals</dd>
-<dt><b>kolmogorov_smirnov_test</b></dt>
-<dd>one-sample Kolmogorov-Smirnov test</dd>
-<dt><b>kolmogorov_smirnov_test_2</b></dt>
-<dd>two-sample Kolmogorov-Smirnov test</dd>
-<dt><b>kruskal_wallis_test</b></dt>
-<dd>kruskal-Wallis test</dd>
-<dt><b>manova</b></dt>
-<dd>one-way multivariate analysis of variance</dd>
-<dt><b>mcnemar_test</b></dt>
-<dd>mcnemar's test for symmetry</dd>
-<dt><b>prop_test_2</b></dt>
-<dd>compare two proportions</dd>
-<dt><b>run_test</b></dt>
-<dd>run test for independence</dd>
-<dt><b>sign_test</b></dt>
-<dd>sign test</dd>
-<dt><b>t_test</b></dt>
-<dd>student's one-sample t test </dd>
-<dt><b>t_test_2</b></dt>
-<dd>student's two-sample t test</dd>
-<dt><b>t_test_regression</b></dt>
-<dd>test one linear hypothesis in linear
-                                     regression model</dd>
-<dt><b>u_test</b></dt>
-<dd>mann-Whitney U-test</dd>
-<dt><b>var_test</b></dt>
-<dd>f test to compare two variances</dd>
-<dt><b>welch_test</b></dt>
-<dd>welch two-sample t test</dd>
-<dt><b>wilcoxon_test</b></dt>
-<dd>wilcoxon signed-rank test</dd>
-<dt><b>z_test</b></dt>
-<dd>test for mean of a normal sample with
-                                     known variance</dd>
-<dt><b>z_test_2</b></dt>
-<dd>compare means of two normal samples with
-                                     known variances</dd>
-</dl></li>
-</ul></li>
-
-<li>The save command now accepts the option -append to save the
-    variables at the end of the file, leaving the existing contents.</li>
-
-<li>New command-line option --no-history (also available using the
-    single character option -H) inhibits saving command history.</li>
-
-<li>The mkoctfile script now accepts -DDEF options and passes them on
-    to the C and C++ compilers.</li>
-</ul
->
-<h2>Summary of changes for version 2.0.13</h2>
-
-<p>This is a bug-fixing release.  There are no new user-visible features.</p>
-
-<h2>Summary of changes for version 2.0.12</h2>
-
-<ul>
-<li>Tilde expansion is once again performed on the directories listed
-    in the LOADPATH variable.</li>
-
-<li>gplot now supports the `axes' qualifier that is new with gnuplot
-    3.6beta.</li>
-
-<li>Timestamps on .m and .oct files are now only checked if a prompt
-    has been printed since the last timestamp check.</li>
-
-<li>Octave now prints a warning if a .m or .oct file has a time stamp
-    in the future.</li>
-
-<li>For matrices, x(:) now works no matter what the value of
-    do_fortran_indexing is.</li>
-
-<li>New keywords __FILE__ and __LINE__ expand to the name of the file
-    that is being read and the current input line number, respectively.</li>
-
-<li>The GNU Info reader is no longer distributed with Octave because
-    current releases of GNU Info now support all the features needed
-    by Octave.  If your copy of GNU Info doesn't support the
-    --index-search option, you should install a newer version of GNU
-    Info, which is distributed as part of the GNU Texinfo package.</li>
-
-<li>Running `make check' should work now before you run `make install', 
-    even if you build a copy of Octave that depends on shared versions
-    of the Octave libraries.</li>
-
-<li>Octave now uses kpathsea 3.2.</li>
-
-<li>The new built-in variable `kluge_procbuf_delay' specifies the number
-    of microseconds to delay in the parent process after forking.  By
-    default on gnu-win32 systems, it's set to 500000 (1/2 second).  On
-    other systems, the default value is 0.  Delaying for a short time
-    in the parent after forking seems to avoid problems in which
-    communicating with subprocesses via pipes would sometimes cause
-    Octave to hang.  I doubt that the delay is really the right
-    solution.  If anyone has a better idea, I'd love to hear it.</li>
-</ul>
-
-<h2>Summary of changes for version 2.0.11</h2>
-
-<ul>
-<li>There are two new built-in variables that control how global
-    variables are initialized.  If `initialize_global_variables' is
-    nonzero, global variables are initialized to the value of the
-    variable `default_global_variable_value'.  The default value of
-    `initialize_global_variables' is 0 (1 if you use --traditional)
-    and `default_global_variable_value' is undefined (the empty matrix
-    if you use --traditional).  The default settings are compatible
-    with versions of Octave before 2.0.10.</li>
-</ul>
-
-<h2>Summary of changes for version 2.0.10</h2>
-
-<ul>
-<li>The built-in variable `PWD' has been removed.  If you need to get
-    the value of the current working directory, use the pwd() function
-    instead.</li>
-<li>For compatibility with Matlab, Octave's lyap function now solves
-<pre>
-      A*X + X*A' + C = 0
-</pre>
-    instead of
-<pre>
-      A'*X + X*A + C = 0
-</pre>
-    To try to avoid confusion for people who are used to the way
-    Octave behaved in previous versions, a warning is printed the
-    first time lyap is called in a given session.  To completely
-    disable the warning, simply add
-<pre>
-      global __disable_lyap_interface_change_warning__;
-</pre>
-    to your ~/.octaverc file.  The warning will eventually disappear
-    for good in some future version of Octave.</li>
-<li>New built-in functions for computing Bessel functions:
-    besseli, besselj, besselk, and bessely.</li>
-<li>The gammai and betai functions are now implemented as built-in
-    functions rather than function files.</li>
-<li>The new built-in variable `implicit_num_to_str_ok' controls
-    whether Octave converts expressions like `[97, 98, 99, "123"]' to
-    strings.  The default value is 0 unless you use --traditional.</li>
-<li>The new built-in variable `fixed_point_format' controls whether
-    Octave uses a scaled fixed-point format for displaying matrices.
-    The default value is 0 unless you use --traditional.</li>
-<li>The function sumsq now computes sum (x .* conj (x)) for complex values.</li>
-<li>Dynamically linked functions can be cleared.</li>
-<li>If a .oct file has a time stamp more recent than the time that it
-    was loaded, it is automatically reloaded.  Reloading a .oct file
-    may cause several functions to be cleared automatically.  By
-    default, a warning is printed that lists the names of the
-    functions that will be cleared.  You can suppress the message by
-    setting the new built-in variable `warn_reload_forces_clear' to 0.</li>
-<li>Global variables are now initialized to the empty matrix, for
-    compatibility with Matlab.</li>
-<li>Explicit initialization of global variables only happens once.
-    For example, after the following statements are evaluated, g still
-    has the value 1.
-<pre>
-      global g = 1
-      global g = 2
-</pre>
-    This is useful for initializing global variables that are used to
-    maintain state information that is shared among several functions.</li>
-<li>The new built-in variable max_recursion_depth allows you to
-    prevent Octave from attempting infinite recursion.  The default
-    value is 256.</li>
-<li>Octave now uses readline version 2.1 and kpathsea 3.0.</li>
-<li>The libreadline and libkpathsea libraries are no longer installed.</li>
-<li>The libcruft, liboctave, and liboctinterp libraries are now
-    installed in $libdir/octave instead of just $libdir.</li>
-<li>It's no longer necessary to have libg++, but you do need to have
-    the GNU implementation of libstdc++.  If you are using gcc 2.7.2,
-    libstdc++ is distributed as part of libg++ 2.7.2.  For later
-    versions, libstdc++ is distributed separately.  For egcs,
-    libstdc++ is included with the compiler distribution.</li>
-</ul>
-
-<h2>Summary of changes for version 2.0.9</h2>
-
-<p>This is a bug-fixing release, but there is one new user-visible
-feature:</p>
-
-<ul>
-<li>It is now possible to specify a label for lines in the plot key
-    when using the plot function.  For example,
-<pre>
-      plot (x, y, "-*;sin(x);")
-</pre>
-    plots y vs. x using the linespoints style and sets the title of
-    the line in the key to be `sin(x)'</li>
-</ul>
-
-<h2>Summary of changes for version 2.0.8</h2>
-
-<p>This is a bug-fixing release.  There are only a few new user-visible
-features.</p>
-
-<ul>
-<li>If the argument to eig() is symmetric, Octave uses the specialized
-    Lapack subroutine for symmetric matrices for a significant
-    increase in performance.</li>
-<li>It is now possible to use the mkoctfile script to create .oct
-    files from multiple source and object files.</li>
-</ul>
-
-<h2>Summary of changes for version 2.0.7</h2>
-
-<p>This is a bug-fixing release.  There are no new user-visible features.</p>
-
-<h2>Summary of changes for version 2.0.6</h2>
-
-<p>This is primarily a bug-fixing release.  There are only a few new
-user-visilbe features.</p>
-
-<ul>
-<li>The new built-in variable default_eval_print_flag controls whether
-    Octave prints the results of commands executed by eval() that do
-    not end with semicolons.  The default is 1.</li>
-<li>The new built-in constant OCTAVE_HOME specifies the top-level
-    directory where Octave is installed.</li>
-<li>Octave no longer includes functions to work with NPSOL or QPSOL,
-    because they are not free software.</li>
-</ul>
-
-<h2>Summary of changes for version 2.0.5</h2>
-
-<ul>
-<li>A `switch' statement is now available.  See the Statements chapter
-    in the manual for details.</li>
-<li>Commands like ls, save, and cd may now also be used as formal
-    parameters for functions.</li>
-<li>More tests.</li>
-</ul>
-
-<h2>Summary of changes for version 2.0.4</h2>
-
-<ul>
-<li>It is now possible to use commands like ls, save, and cd as simple
-    variable names.  They still cannot be used as formal parameters
-    for functions, or as the names of structure variables.  Failed
-    assignments leave them undefined (you can recover the orginal
-    function definition using clear).</li>
-<li>Is is now possible to invoke commands like ls, save, and cd as
-    normal functions (for example, load ("foo", "x", "y", "z")).</li>
-</ul>
-
-<h2>Summary of changes for version 2.0.3</h2>
-
-<ul>
-<li>The manual has been completely revised and now corresponds much
-    more closely to the features of the current version.</li>
-<li>The return value for assignment expressions is now the RHS since
-    that is more consistent with the way other programming languages
-    work.  However, Octave still prints the entire LHS value so that
-<pre>
-      x = zeros (1, 2);
-      x(2) = 1
-</pre>
-    still prints
-<pre>
-      x =
-
-        0  1
-
-</pre>
-    but an assignment like
-<pre>
-      z = x(2) = 1
-</pre>
-    sets z to 1 (not [ 0, 1 ] as in previous versions of Octave).</li>
-<li>It is now much easier to make binary distributions.  See the
-    Binary Distributions section of the manual for more details.</li>
-</ul>
-
-<h2>Summary of changes for version 2.0.2</h2>
-
-<ul></li>
-<li>Octave now stops executing commands from a script file if an error
-    is encountered.</li>
-<li>The return, and break commands now cause Octave to quit executing
-    commands from script files.  When used in invalid contexts, the
-    break, continue, and return commands are now simply ignored
-    instead of producing parse errors.</li>
-<li>size ("") is now [0, 0].</li>
-<li>New functions:
-<dl>
-<dt><b>sleep</b></dt>
-<dd>pause execution for a specified number of seconds</dd>
-<dt><b>usleep</b></dt>
-<dd>pause execution for a specified number of microseconds</dd>
-</dl></li>
-</ul>
-</pre>
-
-<h2>Summary of changes for version 2.0.1</h2>
-
-<p>Other than bug fixes, there were no user-visible changes in version
-2.0.1.
-
-<h2>Summary of changes for version 2.0</h2>
-
-<p><ul>
-<li>The set and show commands for setting and displaying gnuplot
-    parameters have been replaced by gset and gshow.  This change will
-    probably break lots of things, but it is necessary to allow for
-    compatibility with the Matlab graphics and GUI commands in a
-    future version of Octave.  (For now, the old set and show commands
-    do work, but they print an annoying warning message to try to get
-    people to switch to using gset.)</li>
-<li>Octave has been mostly ported to Windows NT and Windows 95 using
-    the beta 17 release of the Cygnus GNU-WIN32 tools.  Not everything
-    works, but it is usable.  See the file README.WINDOWS for more
-    information.</li>
-<li>Dynamic linking works on more systems using dlopen() and friends
-    (most modern Unix systems) or shl_load() and friends (HP/UX
-    systems).  A simple example is provided in examples/hello.cc.
-    For this feature to work, you must configure Octave with
-    --enable-shared.  You may also need to have a shared-library
-    version of libg++ and libstdc++.</li>
-<li>New data types can be added to Octave by writing a C++ class.  On
-    systems that support dynamic linking, new data types can be added
-    to an already running Octave binary.  A simple example appears in
-    the file examples/make_int.cc.  Other examples are the standard
-    Octave data types defined in the files src/ov*.{h,cc} and
-    src/op-*.cc.</li>
-<li>The configure option --enable-bounds-check turns on bounds
-    checking on element references for Octave's internal array and
-    matrix classes.  It's enabled by default.  To disable this
-    feature, configure Octave with --disable-bounds-check.</li>
-<li>The C-style I/O functions (fopen, fprintf, etc.) have been
-    rewritten to be more compatible with Matlab.  The fputs function
-    has also been added.  Usage of the *printf functions that was
-    allowed in previous versions of Octave should still work.
-    However, there is no way to make the new versions of the *scanf
-    functions compatible with Matlab *and* previous versions of
-    Octave.  An optional argument to the *scanf functions is now
-    available to make them behave in a way that is compatible with
-    previous versions of Octave.</li>
-<li>Octave can now read files that contain columns of numbers only,
-    with no header information.  The name of the loaded variable is
-    constructed from the file name.  Each line in the file must have
-    the same number of elements.</li>
-<li>The interface to the pager has changed.  The new built-in variable
-    `page_output_immediately' controls when Octave sends output to the
-    pager.  If it is nonzero, Octave sends output to the pager as soon
-    as it is available.  Otherwise, Octave buffers its output and
-    waits until just before the prompt is printed to flush it to the
-    pager.</li>
-<li>Expressions of the form
-<pre>
-      A(i,j) = x
-</pre>
-    where X is a scalar and the indices i and j define a matrix of
-    elements now work as you would expect rather than giving an error.
-    I am told that this is how Matlab 5.0 will behave when it is
-    released.</li>
-<li>Indexing of character strings now works.</li>
-<li>The echo command has been implemented.</li>
-<li>The document command is now a regular function.</li>
-<li>New method for handling errors:
-<pre>
-      try
-        BODY
-      catch
-        CLEANUP
-      end_try_catch
-</pre>
-    Where BODY and CLEANUP are both optional and may contain any
-    Octave expressions or commands.  The statements in CLEANUP are
-    only executed if an error occurs in BODY.
-
-<p> No warnings or error messages are printed while BODY is
-    executing.  If an error does occur during the execution of BODY,
-    CLEANUP can access the text of the message that would have been
-    printed in the builtin constant __error_text__.  This is the same
-    as eval (TRY, CATCH) (which may now also use __error_text__) but
-    it is more efficient since the commands do not need to be parsed
-    each time the TRY and CATCH statements are evaluated.</li>
-<li>Octave no longer parses the help command by grabbing everything
-    after the keyword `help' until a newline character is read.  To
-    get help for `;' or `,', now, you need to use the command
-    `help semicolon' or `help comma'.</li>
-<li>Octave's parser now does some simple constant folding.  This means
-    that expressions like 3*i are now evaluated only once, when a
-    function is compiled, and the right hand side of expressions like
-    a = [1,2;3,4] are treated as true matrix constants rather than
-    lists of elements which must be evaluated each time they are
-    needed.</li>
-<li>Built-in variables that can take values of "true" and "false" can
-    now also be set to any nonzero scalar value to indicate "true",
-    and 0 to indicate "false".</li>
-<li>New built-in variables `history_file', `history_size', and
-    `saving_history'.</li>
-<li>New built-in variable `string_fill_char' specifies the character
-    to fill with when creating arrays of strings.</li>
-<li>If the new built-in variable `gnuplot_has_frames' is nonzero,
-    Octave assumes that your copy of gnuplot includes support for
-    multiple plot windows when using X11.
-
-    If the new built-in variable `gnuplot_has_multiplot' is nonzero,
-    Octave assumes that your copy of gnuplot has the multiplot support
-    that is included in recent 3.6beta releases.
-
-    The initial values of these variables are determined by configure,
-    but can be changed in your startup script or at the command line
-    in case configure got it wrong, or if you upgrade your gnuplot
-    installation.</li>
-<li>The new plot function `figure' allows multiple plot windows when
-    using newer versions of gnuplot with X11.</li>
-<li>Octave now notices when the plotter has exited unexpectedly.</li>
-<li>New built-in variable `warn_missing_semicolon'.  If nonzero, Octave
-    will warn when statements in function definitions don't end in
-    semicolons.  The default value is 0.</li>
-<li>Octave now attempts to continue after floating point exceptions
-    or out-of-memory errors.</li>
-<li>If Octave crashes, it now attempts to save all user-defined
-    variables in a file named `octave-core' in the current directory
-    before exiting.</li>
-<li>It is now possible to get the values of individual option settings
-    for the dassl, fsolve, lsode, npsol, qpsol, and quad functions
-    using commands like
-<pre>
-      dassl_reltol = dassl_options ("relative tolerance");
-</pre></li>
-<li>The svd() function no longer computes the left and right singular
-    matrices unnecessarily.  This can significantly improve
-    performance for large matrices if you are just looking for the  
-    singular values.</li>
-<li>The filter() function is now a built-in function.</li>
-<li>New function randn() returns a pseudo-random number from a normal
-    distribution.  The rand() and randn() functions have separate
-    seeds and generators.</li>
-<li>Octave's command-line arguments are now available in the built-in
-    variable `argv'.  The program name is also available in the
-    variables `program_invocation_name' and `program_name'.  If
-    executing a script from the command line (e.g., octave foo.m) or
-    using the `#! /bin/octave' hack, the program name is set to the
-    name of the script.</li>
-<li>New built-in variable `completion_append_char' used as the
-    character to append to successful command-line completion
-    attempts.  The default is " " (a single space).</li>
-<li>Octave now uses a modified copy of the readline library from
-    version 1.14.5 of GNU bash.</li>
-<li>In prompt strings, `\H' expands to the whole host name.</li>
-<li>New built-in variable `beep_on_error'.  If nonzero, Octave will try
-    to ring your terminal's bell before printing an error message.
-    The default value is 0.</li>
-<li>For functions defined from files, the type command now prints the
-    text of the file.  You can still get the text reconstructed from
-    the parse tree by using the new option -t (-transformed).</li>
-<li>New command-line argument --traditional sets the following
-    preference variables for compatibility with Matlab:
-<pre>
-      PS1                           = ">> "
-      PS2                           = ""
-      beep_on_error                 = 1
-      default_save_format           = "mat-binary"
-      define_all_return_values      = 1
-      do_fortran_indexing           = 1
-      empty_list_elements_ok        = 1
-      implicit_str_to_num_ok        = 1
-      ok_to_lose_imaginary_part     = 1
-      page_screen_output            = 0
-      prefer_column_vectors         = 0
-      prefer_zero_one_indexing      = 1
-      print_empty_dimensions        = 0
-      treat_neg_dim_as_zero         = 1
-      warn_function_name_clash      = 0
-      whitespace_in_literal_matrix  = "traditional"
-</pre></li>
-<li>New functions:
-<dl>
-<dt><b>readdir</b></dt>
-<dd>returns names of files in directory as array of strings</dd>
-<dt><b>mkdir</b></dt>
-<dd>create a directory</dd>
-<dt><b>rmdir</b></dt>
-<dd>remove a directory</dd>
-<dt><b>rename</b></dt>
-<dd>rename a file</dd>
-<dt><b>unlink</b></dt>
-<dd>delete a file</dd>
-<dt><b>umask</b></dt>
-<dd>set permission mask for file creation</dd>
-<dt><b>stat</b></dt>
-<dd>get information about a file</dd>
-<dt><b>lstat</b></dt>
-<dd>get information about a symbolic link</dd>
-<dt><b>glob</b></dt>
-<dd>perform filename globbing</dd>
-<dt><b>fnmatch</b></dt>
-<dd>match strings with filename globbing patterns</dd>
-<dt><b>more</b></dt>
-<dd>turn the pager on or off</dd>
-<dt><b>gammaln</b></dt>
-<dd>alias for lgamma</dd>
-</dl></li>
-<li>New audio functions from Andreas Weingessel:
-<dl>
-<dt><b>lin2mu</b></dt>
-<dd>linear to mu-law encoding</dd>
-<dt><b>loadaudio</b></dt>
-<dd>load an audio file to a vector</dd>
-<dt><b>mu2lin</b></dt>
-<dd>mu-law to linear encoding</dd>
-<dt><b>playaudio</b></dt>
-<dd>play an audio file</dd>
-<dt><b>record</b></dt>
-<dd>record sound and store in vector</dd>
-<dt><b>saveaudio</b></dt>
-<dd>save a vector as an audio file</dd>
-<dt><b>setaudio</b></dt>
-<dd>executes mixer shell command</dd>
-</dl></li>
-<li>New plotting functions from Vinayak Dutt.  Ones dealing with
-    multiple plots on one page require features from gnuplot 3.6beta
-    (or later).
-<dl>
-<dt><b>bottom_title</b></dt>
-<dd>put title at the bottom of the plot</dd>
-<dt><b>mplot</b></dt>
-<dd>multiplot version of plot</dd>
-<dt><b>multiplot</b></dt>
-<dd>switch multiple-plot mode on or off</dd>
-<dt><b>oneplot</b></dt>
-<dd>return to one plot per page</dd>
-<dt><b>plot_border</b></dt>
-<dd>put a border around plots</dd>
-<dt><b>subplot</b></dt>
-<dd>position multiple plots on a single page</dd>
-<dt><b>subwindow</b></dt>
-<dd>set subwindow position for next plot</dd>
-<dt><b>top_title</b></dt>
-<dd>put title at the top of the plot</dd>
-<dt><b>zlabel</b></dt>
-<dd>put a label on the z-axis</dd>
-</dl></li>
-<li>New string functions
-<dl>
-<dt><b>bin2dec</b></dt>
-<dd>convert a string of ones and zeros to an integer</dd>
-<dt><b>blanks</b></dt>
-<dd>create a string of blanks</dd>
-<dt><b>deblank</b></dt>
-<dd>delete trailing blanks</dd>
-<dt><b>dec2bin</b></dt>
-<dd>convert an integer to a string of ones and zeros</dd>
-<dt><b>dec2hex</b></dt>
-<dd>convert an integer to a hexadecimal string</dd>
-<dt><b>findstr</b></dt>
-<dd>locate occurrences of one string in another</dd>
-<dt><b>hex2dec</b></dt>
-<dd>convert a hexadecimal string to an integer</dd>
-<dt><b>index</b></dt>
-<dd>return position of first occurrence a string in another</dd>
-<dt><b>rindex</b></dt>
-<dd>return position of last occurrence a string in another</dd>
-<dt><b>split</b></dt>
-<dd>divide one string into pieces separated by another</dd>
-<dt><b>str2mat</b></dt>
-<dd>create a string matrix from a list of strings</dd>
-<dt><b>strrep</b></dt>
-<dd>replace substrings in a string</dd>
-<dt><b>substr</b></dt>
-<dd>extract a substring</dd>
-</dl>
-<p>    The following functions return a matrix of ones and zeros.
-    Elements that are nonzero indicate that the condition was true for
-    the corresponding character in the string array.
-<dl>
-<dt><b>isalnum</b></dt>
-<dd>letter or a digit</dd>
-<dt><b>isalpha</b></dt>
-<dd>letter</dd>
-<dt><b>isascii</b></dt>
-<dd>ascii</dd>
-<dt><b>iscntrl</b></dt>
-<dd>control character</dd>
-<dt><b>isdigit</b></dt>
-<dd>digit</dd>
-<dt><b>isgraph</b></dt>
-<dd>printable (but not space character)</dd>
-<dt><b>islower</b></dt>
-<dd>lower case</dd>
-<dt><b>isprint</b></dt>
-<dd>printable (including space character)</dd>
-<dt><b>ispunct</b></dt>
-<dd>punctuation</dd>
-<dt><b>isspace</b></dt>
-<dd>whitespace</dd>
-<dt><b>isupper</b></dt>
-<dd>upper case</dd>
-<dt><b>isxdigit</b></dt>
-<dd>hexadecimal digit</dd>
-</dl>
-<p>    These functions return new strings.
-<dl>
-<dt><b>tolower</b></dt>
-<dd>convert to lower case</dd>
-<dt><b>toupper</b></dt>
-<dd>convert to upper case</dd>
-</dl></li>
-<li>New function, fgetl.  Both fgetl and fgets accept an optional
-    second argument that specifies a maximum number of characters to
-    read, and the function fgets is now compatible with Matlab.</li>
-<li>Printing in hexadecimal format now works (format hex).  It is also
-    possible to print the internal bit representation of a value
-    (format bit).  Note that these formats are only implemented for
-    numeric values.</li>
-<li>Additional structure features:
-<ul>
-<li>Name completion now works for structures.</li>
-<li>Values and names of structure elements are now printed by
-    default.  The new built-in variable `struct_levels_to_print'
-    controls the depth of nested structures to print.  The default
-    value is 2.</li>
-<li>New functions:
-<dl>
-<dt><b>struct_contains (S, NAME)</b></dt>
-<dd>returns 1 if S is a structure with element NAME; otherwise returns 0.</dd> 
-<dt><b>struct_elements (S)</b></dt>
-<dd>returns the names of all elements of structure S in an array of
-    strings.</dd>
-</dl></li>
-</ul></li>
-<li>New io/subprocess functions:
-<dl>
-<dt><b>fputs</b></dt>
-<dd>write a string to a file with no formatting</dd>
-<dt><b>popen2</b></dt>
-<dd>start a subprocess with 2-way communication</dd>
-<dt><b>mkfifo</b></dt>
-<dd>create a FIFO special file</dd>
-<dt><b>popen</b></dt>
-<dd>open a pipe to a subprocess</dd>
-<dt><b>pclose</b></dt>
-<dd>close a pipe from a subprocess</dd>
-<dt><b>waitpid</b></dt>
-<dd>check the status of or wait for subprocesses</dd>
-</dl></li>
-<li>New time functions:
-<dl>
-<dt><b>asctime</b></dt>
-<dd>format time structure according to local format</dd>
-<dt><b>ctime</b></dt>
-<dd>equivalent to `asctime (localtime (TMSTRUCT))'</dd>
-<dt><b>gmtime</b></dt>
-<dd>return time structure corresponding to UTC</dd>
-<dt><b>localtime</b></dt>
-<dd>return time structure corresponding to local time zone</dd>
-<dt><b>strftime</b></dt>
-<dd>print given time structure using specified format</dd>
-<dt><b>time</b></dt>
-<dd>return current time</dd>
-</dl>
-<p>    The `clock' and `date' functions are now implemented in M-files
-    using these basic functions.</li>
-<li>Access to additional Unix system calls:
-<dl>
-<dt><b>dup2</b></dt>
-<dd>duplicate a file descriptor</dd>
-<dt><b>exec</b></dt>
-<dd>replace current process with a new process</dd>
-<dt><b>fcntl</b></dt>
-<dd>control open file descriptors</dd>
-<dt><b>fork</b></dt>
-<dd>create a copy of the current process</dd>
-<dt><b>getpgrp</b></dt>
-<dd>return the process group id of the current process</dd>
-<dt><b>getpid</b></dt>
-<dd>return the process id of the current process</dd>
-<dt><b>getppid</b></dt>
-<dd>return the process id of the parent process</dd>
-<dt><b>getuid</b></dt>
-<dd>return the real user id of the current process</dd>
-<dt><b>getgid</b></dt>
-<dd>return the real group id of the current process</dd>
-<dt><b>geteuid</b></dt>
-<dd>return the effective user id of the current process</dd>
-<dt><b>getegid</b></dt>
-<dd>return the effective group id of the current process</dd>
-<dt><b>pipe</b></dt>
-<dd>create an interprocess channel</dd>
-</dl></li>
-<li>Other new functions:
-<dl>
-<dt><b>commutation_matrix</b></dt>
-<dd>compute special matrix form</dd>
-<dt><b>duplication_matrix</b></dt>
-<dd>compute special matrix form</dd>
-<dt><b>common_size.m</b></dt>
-<dd>bring arguments to a common size</dd>
-<dt><b>completion_matches</b></dt>
-<dd>perform command completion on string</dd>
-<dt><b>tilde_expand</b></dt>
-<dd>perform tilde expansion on string</dd>
-<dt><b>meshgrid</b></dt>
-<dd>compatible with Matlab's meshgrid function</dd>
-<dt><b>tmpnam</b></dt>
-<dd>replaces octave_tmp_file_name</dd>
-<dt><b>atexit</b></dt>
-<dd>register functions to be called when Octave exits</dd>
-<dt><b>putenv</b></dt>
-<dd>define an environment variable</dd>
-<dt><b>bincoeff</b></dt>
-<dd>compute binomial coefficients</dd>
-<dt><b>nextpow2</b></dt>
-<dd>compute the next power of 2 greater than a number</dd>
-<dt><b>detrend</b></dt>
-<dd>remove a best fit polynomial from data</dd>
-<dt><b>erfinv</b></dt>
-<dd>inverse error function</dd>
-<dt><b>shift</b></dt>
-<dd>perform a circular shift on the elements of a matrix</dd>
-<dt><b>pow2</b></dt>
-<dd>compute 2 .^ x</dd>
-<dt><b>log2</b></dt>
-<dd>compute base 2 logarithms</dd>
-<dt><b>diff</b></dt>
-<dd>compute differences of matrix elements</dd>
-<dt><b>vech</b></dt>
-<dd>stack columns of a matrix below the diagonal</dd>
-<dt><b>vec</b></dt>
-<dd>stack columns of a matrix to form a vector</dd>
-<dt><b>xor</b></dt>
-<dd>compute exclusive or</dd>
-</dl></li>
-<li>Functions for getting info from the password database on Unix systems:
-<dl>
-<dt><b>getpwent</b></dt>
-<dd>read entry from password-file stream, opening if necessary</dd>
-<dt><b>getpwuid</b></dt>
-<dd>search for password entry with matching user ID</dd>
-<dt><b>getpwnam</b></dt>
-<dd>search for password entry with matching username</dd>
-<dt><b>setpwent</b></dt>
-<dd>rewind the password-file stream</dd>
-<dt><b>endpwent</b></dt>
-<dd>close the password-file stream</dd>
-</dl></li>
-<li>Functions for getting info from the group database on Unix systems:
-<dl>
-<dt><b>getgrent</b></dt>
-<dd>read entry from group-file stream, opening if necessary</dd>
-<dt><b>getgrgid</b></dt>
-<dd>search for group entry with matching group ID</dd>
-<dt><b>getgrnam</b></dt>
-<dd>search for group entry with matching group name</dd>
-<dt><b>setgrent</b></dt>
-<dd>rewind the pgroup-file stream</dd>
-<dt><b>endgrent</b></dt>
-<dd>close the group-file stream</dd>
-</dl></li>
-<li>The New function octave_config_info returns a structure containing
-    information about how Octave was configured and compiled.</li>
-<li>New function getrusage returns a structure containing system
-    resource usage statistics.  The `cputime' function is now defined
-    in an M-file using getrusage.</li>
-<li>The info reader is now a separate binary that runs as a
-    subprocess.  You still need the info reader distributed with
-    Octave though, because there are some new command-line arguments
-    that are not yet available in the public release of Info.</li>
-<li>There is a new built-in variable, INFO_PROGRAM, which is used as
-    the name of the info program to run.  Its initial value is
-    $OCTAVE_HOME/lib/octave/VERSION/exec/ARCH/info, but that value can
-    be overridden by the environment variable OCTAVE_INFO_PROGRAM, or
-    the command line argument --info-program NAME, or by setting the
-    value of INFO_PROGRAM in a startup script.</li>
-<li>There is a new built-in variable, EXEC_PATH, which is used as
-    the list of directories to search when executing subprograms.  Its
-    initial value is taken from the environment variable
-    OCTAVE_EXEC_PATH (if it exists) or PATH, but that value can be
-    overridden by the the command line argument --exec-path PATH, or
-    by setting the value of EXEC_PATH in a startup script.  If the
-    EXEC_PATH begins (ends) with a colon, the directories
-    $OCTAVE_HOME/lib/octave/VERSION/exec/ARCH and $OCTAVE_HOME/bin are
-    prepended (appended) to EXEC_PATH (if you don't specify a value
-    for EXEC_PATH explicitly, these special directories are prepended
-    to your PATH).</li>
-<li>If it is present, Octave will now use an `ls-R' database file to
-    speed up recursive path searching.  Octave looks for a file called
-    ls-R in the directory specified by the environment variable
-    OCTAVE_DB_DIR.  If that is not set but the environment variable
-    OCTAVE_HOME is set, Octave looks in $OCTAVE_HOME/lib/octave.
-    Otherwise, Octave looks in the directory $datadir/octave (normally
-    /usr/local/lib/octave).</li>
-<li>New examples directory.</li>
-<li>There is a new script, mkoctfile, that can be used to create .oct
-    files suitable for dynamic linking.</li>
-<li>Many more bug fixes.</li>
-<li>ChangeLogs are now kept in each subdirectory.</li></li>
-</ul>
-
-</body>
-</html>
--- a/NEWS-3.2.html	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,398 +0,0 @@
-<pre>
-Summary of important user-visible changes for version 3.2:
----------------------------------------------------------
-
- ** Compatibility with Matlab graphics has been improved.
-
-    The hggroup object and associated listener callback functions have
-    been added allowing the inclusion of group objects.  Data sources
-    have been added to these group objects such that
-
-           x = 0:0.1:10;
-           y = sin (x);
-           plot (x, y, "ydatasource", "y");
-           for i = 1 : 100
-             pause(0.1)
-             y = sin (x + 0.1 * i);
-             refreshdata();
-           endfor
-
-    works as expected.  This capability has be used to introduce
-    stem-series, bar-series, etc., objects for better Matlab
-    compatibility.
-
- ** New graphics functions:
-
-      addlistener         ezcontour   gcbo         refresh  
-      addproperty         ezcontourf  ginput       refreshdata
-      allchild            ezmesh      gtext        specular
-      available_backends  ezmeshc     intwarning   surfl
-      backend             ezplot      ishghandle   trisurf
-      cla                 ezplot3     isocolors    waitforbuttonpress
-      clabel              ezpolar     isonormals  
-      comet               ezsurf      isosurface  
-      dellistener         findall     linkprop   
-      diffuse             gcbf        plotmatrix
-
- ** New experimental OpenGL/FLTK based plotting system.
-
-    An experimental plotting system based on OpenGL and the FLTK
-    toolkit is now part of Octave.  This backend is disabled by
-    default.  You can switch to using it with the command
-
-        backend ("fltk")
-
-    for all future figures or for a particular figure with the command
-
-        backend (h, "fltk")
-
-    where "h" is a valid figure handle.  Please note that this backend
-    does not yet support text objects.  Obviously, this is a necessary
-    feature before it can be considered usable.  We are looking for
-    volunteers to help implement this missing feature.
-
- ** Functions providing direct access to gnuplot have been removed.
-
-    The functions __gnuplot_plot__, __gnuplot_set__, __gnuplot_raw__,
-     __gnuplot_show__, __gnuplot_replot__, __gnuplot_splot__,
-     __gnuplot_save_data__ and __gnuplot_send_inline_data__ have been
-     removed from Octave.  These function were incompatible with the
-     high level graphics handle code.
-
- ** The Control, Finance and Quaternion functions have been removed.
-
-    These functions are now available as separate packages from
-
-      http://octave.sourceforge.net/packages.html
-
-    and can be reinstalled using the Octave package manager (see
-    the pkg function).
-
- ** Specific sparse matrix functions removed.
-
-    The following functions, which handled only sparse matrices have
-    been removed.  Instead of calling these functions directly, you
-    should use the corresponding function without the "sp" prefix.
-
-      spatan2     spcumsum  spkron   spprod
-      spchol      spdet     splchol  spqr
-      spchol2inv  spdiag    splu     spsum
-      spcholinv   spfind    spmax    spsumsqk
-      spcumprod   spinv     spmin
-
- ** Improvements to the debugger.
-
-    The interactive debugging features have been improved.  Stopping
-    on statements with dbstop should work correctly now.  Stepping
-    into and over functions, and stepping one statement at a time
-    (with dbstep) now works.  Moving up and down the call stack with
-    dbup and dbdown now works.  The dbstack function is now available
-    to print the current function call stack.  The new dbquit function
-    is available to exit the debugging mode.
-
- ** Improved traceback error messages.
-
-    Traceback error messages are much more concise and easier to
-    understand.  They now display information about the function call
-    stack instead of the stack of all statements that were active at
-    the point of the error.
-
- ** Object Oriented Programming.
-
-    Octave now includes OOP features and the user can create their own
-    class objects and overloaded functions and operators.  For
-    example, all methods of a class called "myclass" will be found in
-    a directory "@myclass" on the users path.  The class specific
-    versions of functions and operators take precedence over the
-    generic versions of these functions.
-
-    New functions related to OOP include
-
-      class  inferiorto  isobject  loadobj  methods  superiorto
-
-    See the Octave manual for more details.
-
- ** Parsing of Command-style Functions.
-
-    Octave now parses command-style functions without needing to first
-    declare them with "mark_as_command".  The rules for recognizing a
-    command-style function calls are
-
-      * A command must appear as the first word in a statement,
-        followed by a space.
-
-      * The first character after the space must not be '=' or '('
-
-      * The next token after the space must not look like a binary
-        operator.
-
-    These rules should be mostly compatible with the way Matlab parses
-    command-style function calls and allow users to define commands in
-    .m files without having to mark them as commands.
-
-    Note that previous versions of Octave allowed expressions like
-
-      x = load -text foo.dat
-
-    but an expression like this will now generate a parse error.  In
-    order to assign the value returned by a function to a variable,
-    you must use the normal function call syntax:
-
-      x = load ("-text", "foo.dat");
-
- ** Block comments.
-
-    Commented code can be between matching "#{" and "#}" or "%{" and
-    "%}" markers, even if the commented code spans several line.  This
-    allows blocks code to be commented, without needing to comment
-    each line.  For example,
-
-    function [s, t] = func (x, y)
-      s = 2 * x;
-    #{
-      s *= y;
-      t = y + x;
-    #}
-    endfunction
-
-    the lines "s *= y;" and "t = y + x" will not be executed.
-
- ** Special treatment in the parser of expressions like "a' * b".
-
-    In these cases the transpose is no longer explicitly formed and
-    BLAS libraries are called with the transpose flagged,
-    significantly improving performance for these kinds of
-    operations.
-
- ** Single Precision data type.
-
-    Octave now includes a single precision data type.  Single
-    precision variables can be created with the "single" command, or
-    from functions like ones, eye, etc.  For example,
-
-      single (1)
-      ones (2, 2, "single")
-      zeros (2, 2, "single")
-      eye (2, 2, "single")
-      Inf (2, 2, "single")
-      NaN (2, 2, "single")
-      NA (2, 2, "single")
-
-    all create single precision variables.  For compatibility with
-    Matlab, mixed double/single precision operators and functions
-    return single precision types.
-
-    As a consequence of this addition to Octave the internal
-    representation of the double precision NA value has changed, and
-    so users that make use of data generated by Octave with R or
-    visa-versa are warned that compatibility might not be assured.
-
- ** Improved array indexing.
-
-    The underlying code used for indexing of arrays has been
-    completely rewritten and indexing is now significantly faster.
-
- ** Improved memory management.
-
-    Octave will now attempt to share data in some cases where previously
-    a copy would be made, such as certain array slicing operations or
-    conversions between cells, structs and cs-lists.  This usually reduces
-    both time and memory consumption.
-    Also, Octave will now attempt to detect and optimize usage of a vector 
-    as a stack, when elements are being repeatedly inserted at/removed from 
-    the end of the vector.
-
- ** Improved performance for reduction operations.
-
-    The performance of the sum, prod, sumsq, cumsum, cumprod, any, all,
-    max and min functions has been significantly improved.
-
- ** Sorting and searching.
-    
-    The performance of sort has been improved, especially when sorting
-    indices are requested. An efficient built-in issorted implementation
-    was added. sortrows now uses a more efficient algorithm, especially
-    in the homegeneous case. lookup is now a built-in function performing
-    a binary search, optimized for long runs of close elements. Lookup
-    also works with cell arrays of strings.
-
- ** Range arithmetics
-
-    For some operations on ranges, Octave will attempt to keep the result as a
-    range.  These include negation, adding a scalar, subtracting a scalar, and
-    multiplying by a scalar. Ranges with zero increment are allowed and can be
-    constructed using the built-in function `ones'.
-
- ** Various performance improvements.
-
-    Performance of a number of other built-in operations and functions was
-    improved, including:
-
-    * logical operations
-    * comparison operators
-    * element-wise power
-    * accumarray
-    * cellfun
-    * isnan
-    * isinf
-    * isfinite
-    * nchoosek
-    * repmat
-    * strcmp
-
- ** 64-bit integer arithmetic.
-
-    Arithmetic with 64-bit integers (int64 and uint64 types) is fully
-    supported, with saturation semantics like the other integer types.
-    Performance of most integer arithmetic operations has been
-    improved by using integer arithmetic directly.  Previously, Octave
-    performed integer math with saturation semantics by converting the
-    operands to double precision, performing the operation, and then
-    converting the result back to an integer value, truncating if
-    necessary.
-
- ** Diagonal and permutation matrices.
-
-    The interpreter can now treat diagonal and permutation matrices as
-    special objects that store only the non-zero elements, rather than
-    general full matrices.  Therefore, it is now possible to construct
-    and use these matrices in linear algebra without suffering a
-    performance penalty due to storing large numbers of zero elements.
-
- ** Improvements to fsolve.
-
-    The fsolve function now accepts an option structure argument (see
-    also the optimset function).  The INFO values returned from fsolve
-    have changed to be compatible with Matlab's fsolve function.
-    Additionally, fsolve is now able to solve overdetermined systems,
-    complex-differentiable complex systems, systems with a sparse
-    jacobian and can work in single precision if given single precision
-    inputs.  It can also be called recursively.
-
- ** Improvements to the norm function.
-
-    The norm function is now able to compute row or column norms of a
-    matrix in a single call, as well as general matrix p-norms.
-
- ** New functions for computing some eigenvalues or singular values.
-
-    The eigs and svds functions have been included in Octave.  These
-    functions require the ARPACK library (now distributed under a
-    GPL-compatible license).
-
- ** New QR and Cholesky factorization updating functions.
-
-      choldelete  cholshift   qrdelete  qrshift
-      cholinsert  cholupdate  qrinsert  qrupdate
-
- ** New quadrature functions.
-
-      dblquad  quadgk  quadv  triplequad
-
- ** New functions for reading and writing images.
-
-    The imwrite and imread functions have been included in Octave.
-    These functions require the GraphicsMagick library.  The new
-    function imfinfo provides information about an image file (size,
-    type, colors, etc.)
-
- ** The input_event_hook function has been replaced by the pair of
-    functions add_input_event_hook and remove_input_event_hook so that
-    more than one hook function may be installed at a time.
-
- ** Other miscellaneous new functions.
-
-      addtodate          hypot                       reallog
-      bicgstab           idivide                     realpow
-      cellslices         info                        realsqrt
-      cgs                interp1q                    rectint
-      command_line_path  isdebugmode                 regexptranslate
-      contrast           isfloat                     restoredefaultpath
-      convn              isstrprop                   roundb
-      cummin             log1p                       rundemos
-      cummax             lsqnonneg                   runlength
-      datetick           matlabroot                  saveobj
-      display            namelengthmax               spaugment
-      expm1              nargoutchk                  strchr
-      filemarker         pathdef                     strvcat
-      fstat              perl                        subspace
-      full               prctile                     symvar
-      fzero              quantile                    treelayout
-      genvarname         re_read_readline_init_file  validatestring
-      histc
-
- ** Changes to strcat.
-
-    The strcat function is now compatible with Matlab's strcat
-    function, which removes trailing whitespace when concatenating
-    character strings.  For example
-
-      strcat ('foo ', 'bar')
-      ==> 'foobar'
-
-    The new function cstrcat provides the previous behavior of
-    Octave's strcat.
-
- ** Improvements to the help functions.
-
-    The help system has been mostly re-implemented in .m files to make
-    it easier to modify.  Performance of the lookfor function has been
-    greatly improved by caching the help text from all functions that
-    are distributed with Octave.  The pkg function has been modified
-    to generate cache files for external packages when they are
-    installed.
-
- ** Deprecated functions.
-
-    The following functions were deprecated in Octave 3.0 and will be
-    removed in Octave 3.4 (or whatever version is the second major
-    release after 3.0):
-                                           
-      beta_cdf         geometric_pdf        pascal_pdf      
-      beta_inv         geometric_rnd        pascal_rnd      
-      beta_pdf         hypergeometric_cdf   poisson_cdf     
-      beta_rnd         hypergeometric_inv   poisson_inv     
-      binomial_cdf     hypergeometric_pdf   poisson_pdf     
-      binomial_inv     hypergeometric_rnd   poisson_rnd     
-      binomial_pdf     intersection         polyinteg       
-      binomial_rnd     is_bool              setstr          
-      chisquare_cdf    is_complex           struct_contains 
-      chisquare_inv    is_list              struct_elements 
-      chisquare_pdf    is_matrix            t_cdf           
-      chisquare_rnd    is_scalar            t_inv           
-      clearplot        is_square            t_pdf           
-      clg              is_stream            t_rnd           
-      com2str          is_struct            uniform_cdf     
-      exponential_cdf  is_symmetric         uniform_inv     
-      exponential_inv  is_vector            uniform_pdf     
-      exponential_pdf  isstr                uniform_rnd     
-      exponential_rnd  lognormal_cdf        weibcdf         
-      f_cdf            lognormal_inv        weibinv         
-      f_inv            lognormal_pdf        weibpdf         
-      f_pdf            lognormal_rnd        weibrnd         
-      f_rnd            meshdom              weibull_cdf     
-      gamma_cdf        normal_cdf           weibull_inv     
-      gamma_inv        normal_inv           weibull_pdf     
-      gamma_pdf        normal_pdf           weibull_rnd     
-      gamma_rnd        normal_rnd           wiener_rnd      
-      geometric_cdf    pascal_cdf
-      geometric_inv    pascal_inv
-
-    The following functions are now deprecated in Octave 3.2 and will
-    be removed in Octave 3.6 (or whatever version is the second major
-    release after 3.2):
-
-      create_set          spcholinv  spmax
-      dmult               spcumprod  spmin
-      iscommand           spcumsum   spprod
-      israwcommand        spdet      spqr
-      lchol               spdiag     spsum
-      loadimage           spfind     spsumsq
-      mark_as_command     spinv      str2mat
-      mark_as_rawcommand  spkron     unmark_command
-      spatan2             splchol    unmark_rawcommand
-      spchol              split
-      spchol2inv          splu
-
-See NEWS.3 for old news.
-</pre>
--- a/NEWS-3.4.html	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,485 +0,0 @@
-<pre>
-Summary of important user-visible changes for version 3.4.3:
------------------------------------------------------------
-
- ** Octave 3.4.3 is a bug fixing release.
-
-Summary of important user-visible changes for version 3.4.2:
------------------------------------------------------------
-
- ** Octave 3.2.4 fixes some minor installation problems that affected
-    version 3.4.1.
-
-Summary of important user-visible changes for version 3.4.1:
------------------------------------------------------------
-
- ** Octave 3.4.1 is primarily a bug fixing release.
-
- ** IMPORTANT note about binary incompatibility in this release:
-
-    Binary compatibility for all 3.4.x releases was originally planned,
-    but this is impossible for the 3.4.1 release due to a bug in the way
-    shared libraries were built in Octave 3.4.0.  Because of this bug,
-    .oct files built for Octave 3.4.0 must be recompiled before they
-    will work with Octave 3.4.1.
-
-    Given that there would be binary incompatibilities with shared
-    libraries going from Octave 3.4.0 to 3.4.1, the following
-    incompatible changes were also made in this release:
-
-      * The Perl Compatible Regular Expression (PCRE) library is now
-        required to build Octave.
-
-      * Octave's libraries and .oct files are now installed in
-        subdirectories of $libdir instead of $libexecdir.
-
-    Any future Octave 3.4.x release versions should remain binary
-    compatible with Octave 3.4.1 as proper library versioning is now
-    being used as recommended by the libtool manual.
-
- ** The following functions have been deprecated in Octave 3.4.1 and will
-    be removed from Octave 3.8 (or whatever version is the second major
-    release after 3.4):
-
-      cquad  is_duplicate_entry  perror  strerror
-
- ** The following functions are new in 3.4.1:
-
-      colstyle  gmres  iscolumn  isrow  mgorth  nproc  rectangle
-
- ** The get_forge_pkg function is now private.
-
- ** The rectangle_lw, rectangle_sw, triangle_lw, and triangle_sw
-    functions are now private.
-
- ** The logistic_regression_derivatives and logistic_regression_likelihood
-    functions are now private.
-
- ** ChangeLog files in the Octave sources are no longer maintained
-    by hand.  Instead, there is a single ChangeLog file generated from
-    the Mercurial version control commit messages.  Older ChangeLog
-    information can be found in the etc/OLD-ChangeLogs directory in the
-    source distribution.
-
-Summary of important user-visible changes for version 3.4:
----------------------------------------------------------
-
- ** BLAS and LAPACK libraries are now required to build Octave.  The
-    subset of the reference BLAS and LAPACK libraries has been removed
-    from the Octave sources.
-
- ** The `lookup' function was extended to be more useful for
-    general-purpose binary searching.  Using this improvement, the
-    ismember function was rewritten for significantly better
-    performance.
-
- ** Real, integer and logical matrices, when used in indexing, will now
-    cache the internal index_vector value (zero-based indices) when
-    successfully used as indices, eliminating the conversion penalty for
-    subsequent indexing by the same matrix.  In particular, this means it
-    is no longer needed to avoid repeated indexing by logical arrays
-    using find for performance reasons.
-
- ** Logical matrices are now treated more efficiently when used as
-    indices.  Octave will keep the index as a logical mask unless the
-    ratio of true elements is small enough, using a specialized
-    code.  Previously, all logical matrices were always first converted
-    to index vectors.  This results in savings in both memory and
-    computing time.
-
- ** The `sub2ind' and `ind2sub' functions were reimplemented as compiled
-    functions for better performance.  These functions are now faster,
-    can deliver more economized results for ranges, and can reuse the
-    index cache mechanism described in previous paragraph.
-
- ** The built-in function equivalents to associative operators (`plus',
-    `times', `mtimes', `and', and `or') have been extended to accept
-    multiple arguments.  This is especially useful for summing
-    (multiplying, etc.) lists of objects (of possibly distinct types):
-   
-      matrix_sum = plus (matrix_list{:});
-
- ** An FTP object type based on libcurl has been implemented.  These
-    objects allow ftp connections, downloads and uploads to be
-    managed.  For example,
-
-      fp = ftp ("ftp.octave.org);
-      cd (fp, "gnu/octave");
-      mget (fp, "octave-3.2.3.tar.bz2");
-      close (fp);
-
- ** The default behavior of `assert (observed, expected)' has been
-    relaxed to employ less strict checking that does not require the
-    internals of the values to match.  This avoids previously valid
-    tests from breaking due to new internal classes introduced in future
-    Octave versions.
-
-    For instance, all of these assertions were true in Octave 3.0.x
-    but false in 3.2.x due to new optimizations and improvements:
-
-      assert (2*linspace (1, 5, 5), 2*(1:5))
-      assert (zeros (0, 0), [])
-      assert (2*ones (1, 5), (2) (ones (1,5)))
-
- ** The behavior of library functions `ismatrix', `issquare', and
-    `issymmetric' has been changed for better consistency.
-    
-    * The `ismatrix' function now returns true for all numeric,
-      logical and character 2-D or N-D matrices.  Previously, `ismatrix' 
-      returned false if the first or second dimension was zero.
-      Hence, `ismatrix ([])' was false, 
-      while `ismatrix (zeros (1,2,0))' was true.
-
-    * The `issquare' function now returns a logical scalar, and is
-      equivalent to the expression
-
-        ismatrix (x) && ndims (x) == 2 && rows (x) == columns (x)
-
-      The dimension is no longer returned.  As a result, `issquare ([])'
-      now yields true.
-    
-    * The `issymmetric' function now checks for symmetry instead of
-      Hermitianness.  For the latter, ishermitian was created.  Also,
-      logical scalar is returned rather than the dimension, so
-      `issymmetric ([])' is now true.
-      
- ** Function handles are now aware of overloaded functions.  If a
-    function is overloaded, the handle determines at the time of its
-    reference which function to call.  A non-overloaded version does not
-    need to exist.
-
- ** Overloading functions for built-in classes (double, int8, cell,
-    etc.) is now compatible with Matlab.
-
- ** Function handles can now be compared with the == and != operators,
-    as well as the `isequal' function.
-
- ** Performance of concatenation (using []) and the functions `cat',
-    `horzcat', and `vertcat' has been improved for multidimensional
-    arrays.
-
- ** The operation-assignment operators +=, -=, *= and /= now behave more
-    efficiently in certain cases.  For instance, if M is a matrix and S a
-    scalar, then the statement
-
-      M += S;
- 
-    will operate on M's data in-place if it is not shared by another
-    variable, usually increasing both time and memory efficiency.
-    
-    Only selected common combinations are affected, namely:
-    
-      matrix += matrix
-      matrix -= matrix
-      matrix .*= matrix
-      matrix ./= matrix
-
-      matrix += scalar
-      matrix -= scalar
-      matrix *= scalar
-      matrix /= scalar
-
-      logical matrix |= logical matrix
-      logical matrix &= logical matrix
-
-    where matrix and scalar belong to the same class.  The left-hand
-    side must be a simple variable reference.
-
-    Moreover, when unary operators occur in expressions, Octave will
-    also try to do the operation in-place if it's argument is a
-    temporary expresssion.
-
- ** The effect of comparison operators (<, >, <=, and >=) applied to
-    complex numbers has changed to be consistent with the strict
-    ordering defined by the `max', `min', and `sort' functions.  More
-    specifically, complex numbers are compared by lexicographical
-    comparison of the pairs `[abs(z), arg(z)]'.  Previously, only real
-    parts were compared; this can be trivially achieved by wrapping the
-    operands in real().
-
- ** The automatic simplification of complex computation results has
-    changed.  Octave will now simplify any complex number with a zero
-    imaginary part or any complex matrix with all elements having zero
-    imaginary part to a real value.  Previously, this was done only for
-    positive zeros.  Note that the behavior of the complex function is
-    unchanged and it still produces a complex value even if the
-    imaginary part is zero.
-
- ** As a side effect of code refactoring in liboctave, the binary
-    logical operations are now more easily amenable to compiler
-    optimizations and are thus significantly faster.
-
- ** Octave now allows user-defined `subsasgn' methods to optimize out
-    redundant copies.  For more information, see the manual.
-
- ** More efficient matrix division handling.  Octave is now able to
-    handle the expressions
-    
-       M' \ V
-       M.' \ V
-       V / M 
-
-    (M is a matrix and V is a vector) more efficiently in certain cases.
-    In particular, if M is triangular, all three expressions will be
-    handled by a single call to xTRTRS (from LAPACK), with appropriate
-    flags.  Previously, all three expressions required a physical
-    transpose of M.
-
- ** More efficient handling of certain mixed real-complex matrix
-    operations.  For instance, if RM is a real matrix and CM a complex
-    matrix,
-    
-      RM * CM
-
-    can now be evaluated either as
-
-      complex (RM * real (CM), RM * imag (CM))
-
-    or as
-
-      complex (RM) * CM,
-
-    depending on the dimensions.  The first form requires more
-    temporaries and copying, but halves the FLOP count, which normally
-    brings better performance if RM has enough rows.  Previously, the
-    second form was always used.
-
-    Matrix division is similarly affected.
-
- ** More efficient handling of triangular matrix factors returned from
-    factorizations.  The functions for computing QR, LU and Cholesky
-    factorizations will now automatically return the triangular matrix
-    factors with proper internal matrix_type set, so that it won't need
-    to be computed when the matrix is used for division.
-
- ** The built-in `sum' function now handles the non-native summation
-    (i.e., double precision sum of single or integer inputs) more
-    efficiently, avoiding a temporary conversion of the whole input
-    array to doubles.  Further, `sum' can now accept an extra option
-    argument, using a compensated summation algorithm rather than a
-    straightforward sum, which significantly improves precision if lots
-    of cancellation occurs in the summation.
-
- ** The built-in `bsxfun' function now uses optimized code for certain
-    cases where built-in operator handles are passed in.  Namely, the
-    optimizations concern the operators `plus', `minus', `times',
-    `ldivide', `rdivide', `power', `and', `or' (for logical arrays),
-    the relational operators `eq', `ne', `lt', `le', `gt', `ge', and the
-    functions `min' and `max'.  Optimizations only apply when both
-    operands are of the same built-in class.  Mixed real/complex and
-    single/double operations will first convert both operands to a
-    common type.
-
- ** The `strfind' and `strrep' functions now have compiled
-    implementations, facilitating significantly more efficient searching
-    and replacing in strings, especially with longer patterns.  The code
-    of `strcat' has been vectorized and is now much more efficient when
-    many strings are concatenated.  The `strcmpi' and `strncmpi'
-    functions are now built-in functions, providing better performance.
- 
- ** Matlab-style ignoring input and output function arguments using
-    tilde (~) is now supported.  Ignored output arguments may be
-    detected from a function using the built-in function `isargout'.
-    For more details, consult the manual. 
-
- ** The list datatype, deprecated since the introduction of cells, has
-    been removed.
-
- ** The accumarray function has been optimized and is now significantly
-    faster in certain important cases.
-
- ** The behavior of isreal and isnumeric functions was changed to be more
-    Matlab-compatible.
-
- ** The integer math & conversion warnings (Octave:int-convert-nan,
-    Octave:int-convert-non-int-val, Octave:int-convert-overflow,
-    Octave:int-math-overflow) have been removed.
-
- ** rem and mod are now built-in functions.  They also handle integer
-    types efficiently using integer arithmetic.
-
- ** Sparse indexing and indexed assignment has been mostly rewritten.
-    Since Octave uses compressed column storage for sparse matrices,
-    major attention is devoted to operations manipulating whole columns.
-    Such operations are now significantly faster, as well as some other
-    important cases.
-
-    Further, it is now possible to pre-allocate a sparse matrix and
-    subsequently fill it by assignments, provided they meet certain
-    conditions.  For more information, consult the `spalloc' function,
-    which is no longer a mere dummy.  Consequently, nzmax and nnz are no
-    longer always equal in Octave.  Octave may also produce a matrix
-    with nnz < nzmax as a result of other operations, so you should
-    consistently use nnz unless you really want to use nzmax (i.e. the
-    space allocated for nonzero elements).
-
-    Sparse concatenation is also affected, and concatenating sparse 
-    matrices, especially larger collections, is now significantly more 
-    efficient.  This applies to both the [] operator and the 
-    cat/vertcat/horzcat functions.
-
- ** It is now possible to optionally employ the xGESDD LAPACK drivers
-    for computing the singular value decomposition using svd(), instead
-    of the default xGESVD, using the configuration pseudo-variable
-    svd_driver.  The xGESDD driver can be up to 6x times faster when
-    singular vectors are requested, but is reported to be somewhat less
-    robust on highly ill-conditioned matrices.
-
- ** Configuration pseudo-variables, such as page_screen_output or 
-    confirm_recursive_rmdir (or the above mentioned svd_driver), now 
-    accept a "local" option as second argument, requesting the change 
-    to be undone when the current function returns:
-        
-    function [status, msg] = rm_rf (dir)
-      confirm_recursive_rmdir (false, "local");
-      [status, msg] = rmdir (dir, "s");
-      ...
-    endfunction
-    
-    Upon return, confirm_recursive_rmdir will be restored to the value 
-    it had on entry to the function, even if there were subsequent 
-    changes to the variable in function rm_rf or any of the functions
-    it calls.
-
- ** pkg now accepts a -forge option for downloading and installing
-    packages from Octave Forge automatically.  For example, 
-    
-      pkg install -forge general
-    
-    will automatically download the latest release of the general
-    package and attempt to install it. No automatic resolving of
-    dependencies is provided.  Further,
-
-      pkg list -forge
-    
-    can be used to list all available packages.
-
-  ** The internal data representation of structs has been completely
-     rewritten to make certain optimizations feasible.  The field data
-     can now be shared between structs with equal keys but different
-     dimensions or values, making operations that preserve the fields
-     faster.  Economized storage is now used for scalar structs (just
-     like most other scalars), making their usage more
-     memory-efficient.  Certain array-like operations on structs
-     (concatenation, uniform cellfun, num2cell) have gained a
-     significant speed-up.  Additionally, the octave_scalar_map class
-     now provides a simpler interface to work with scalar structs within
-     a C++ DLD function.
-
-  ** Two new formats are available for displaying numbers:
-
-       format short eng
-       format long eng
-
-     Both display numbers in engineering notation, i.e., mantissa +
-     exponent where the exponent is a multiple of 3.
-
-  ** The following functions are new in Octave 3.4:
-
-       accumdim    erfcx        nfields      pqpnonneg  uigetdir 
-       bitpack     fileread     nth_element  quadcc     uigetfile  
-       bitunpack   fminbnd      onCleanup    randi      uiputfile    
-       blkmm       fskipl       pbaspect     repelems   uimenu  
-       cbrt        ifelse       pie3         reset      whitebg
-       curl        ishermitian  powerset     rsf2csf    
-       chop        isindex      ppder        saveas          
-       daspect     luupdate     ppint        strread          
-       divergence  merge        ppjumps      textread 
-
-  ** Using the image function to view images with external programs such
-     as display, xv, and xloadimage is no longer supported.  The
-     image_viewer function has also been removed.
-
-  ** The behavior of struct assignments to non-struct values has been
-     changed.  Previously, it was possible to overwrite an arbitrary
-     value:
-      
-        a = 1;
-        a.x = 2;
-
-     This is no longer possible unless a is an empty matrix or cell
-     array.
-  
-  ** The dlmread function has been extended to allow specifying a custom
-     value for empty fields.
-
-  ** The dlmread and dlmwrite functions have been modified to accept
-     file IDs (as returned by fopen) in addition to file names.
-
-  ** Octave can now optimize away the interpreter overhead of an
-     anonymous function handle, if the function simply calls another
-     function or handle with some of its parameters bound to certain
-     values.  Example:
-     
-       f = @(x) sum (x, 1);
-
-     When f is called, the call is forwarded to @sum with the constant 1
-     appended, and the anonymous function call does not occur on the
-     call stack.
-
- ** Deprecated functions.
-
-    The following functions were deprecated in Octave 3.0 and have been
-    removed from Octave 3.4.
-                                           
-      beta_cdf         geometric_pdf        pascal_pdf      
-      beta_inv         geometric_rnd        pascal_rnd      
-      beta_pdf         hypergeometric_cdf   poisson_cdf     
-      beta_rnd         hypergeometric_inv   poisson_inv     
-      binomial_cdf     hypergeometric_pdf   poisson_pdf     
-      binomial_inv     hypergeometric_rnd   poisson_rnd     
-      binomial_pdf     intersection         polyinteg       
-      binomial_rnd     is_bool              setstr          
-      chisquare_cdf    is_complex           struct_contains 
-      chisquare_inv    is_list              struct_elements 
-      chisquare_pdf    is_matrix            t_cdf           
-      chisquare_rnd    is_scalar            t_inv           
-      clearplot        is_square            t_pdf           
-      clg              is_stream            t_rnd           
-      com2str          is_struct            uniform_cdf     
-      exponential_cdf  is_symmetric         uniform_inv     
-      exponential_inv  is_vector            uniform_pdf     
-      exponential_pdf  isstr                uniform_rnd     
-      exponential_rnd  lognormal_cdf        weibcdf         
-      f_cdf            lognormal_inv        weibinv         
-      f_inv            lognormal_pdf        weibpdf         
-      f_pdf            lognormal_rnd        weibrnd         
-      f_rnd            meshdom              weibull_cdf     
-      gamma_cdf        normal_cdf           weibull_inv     
-      gamma_inv        normal_inv           weibull_pdf     
-      gamma_pdf        normal_pdf           weibull_rnd     
-      gamma_rnd        normal_rnd           wiener_rnd      
-      geometric_cdf    pascal_cdf
-      geometric_inv    pascal_inv
-
-    The following functions were deprecated in Octave 3.2 and will
-    be removed from Octave 3.6 (or whatever version is the second major
-    release after 3.2):
-
-      create_set          spcholinv    splu   
-      dmult               spcumprod    spmax
-      iscommand           spcumsum     spmin
-      israwcommand        spdet        spprod
-      lchol               spdiag       spqr
-      loadimage           spfind       spsum
-      mark_as_command     sphcat       spsumsq
-      mark_as_rawcommand  spinv        spvcat 
-      spatan2             spkron       str2mat
-      spchol              splchol      unmark_command
-      spchol2inv          split        unmark_rawcommand
-
-    The following functions have been deprecated in Octave 3.4 and will
-    be removed from Octave 3.8 (or whatever version is the second major
-    release after 3.4):
-
-      autocor  cellidx   gammai     krylovb    values
-      autocov  dispatch  glpkmex    replot
-      betai    fstat     is_global  saveimage
-
-  * For compatibility with Matlab, mu2lin (x) is now equivalent to
-    mu2lin (x, 0).
-
-  * The ARPACK library is now distributed with Octave so it no longer
-    needs to be available as an external dependency when building
-    Octave.
-</pre>
--- a/NEWS-3.6.html	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-<pre>
-Summary of important user-visible changes for version 3.6:
----------------------------------------------------------
-
- ** The PCRE library is now required to build Octave.  If a pre-compiled
-    package does not exist for your system, you can find PCRE sources
-    at http://www.pcre.org
-
- ** The ARPACK library is no longer distributed with Octave.
-    If you need the eigs or svds functions you must provide an
-    external ARPACK through a package manager or by compiling it
-    yourself.  If a pre-compiled package does not exist for your system,
-    you can find the current ARPACK sources at
-    http://forge.scilab.org/index.php/p/arpack-ng
-
- ** Many of Octave's binary operators (.*, .^, +, -, ...) now perform
-    automatic broadcasting for array operations which allows you to use
-    operator notation instead of calling bsxfun or expanding arrays (and
-    unnecessarily wasting memory) with repmat or similar idioms.  For
-    example, to scale the columns of a matrix by the elements of a row
-    vector, you may now write
-
-      rv .* M
-
-    In this expression, the number of elements of rv must match the
-    number of columns of M.  The following operators are affected:
-
-      plus      +  .+
-      minus     -  .-
-      times     .*
-      rdivide   ./
-      ldivide   .\
-      power     .^  .**
-      lt        <
-      le        <=
-      eq        ==
-      gt        >
-      ge        >=
-      ne        !=  ~=
-      and       &
-      or        |
-      atan2
-      hypot
-      max
-      min
-      mod
-      rem
-      xor
-
-    additionally, since the A op= B assignment operators are equivalent
-    to A = A op B, the following operators are also affected:
-
-      +=  -=  .+=  .-=  .*=  ./=  .\=  .^=  .**=  &=  |=
-
-    See the "Broadcasting" section in the new "Vectorization and Faster
-    Code Execution" chapter of the manual for more details.
-
- ** Octave now features a profiler, thanks to the work of Daniel Kraft
-    under the Google Summer of Code mentorship program.  The manual has
-    been updated to reflect this addition.  The new user-visible
-    functions are profile, profshow, and profexplore.
-
- ** Overhaul of statistical distribution functions
-
-    Functions now return "single" outputs for inputs of class "single".
-
-    75% reduction in memory usage through use of logical indexing.
-
-    Random sample functions now use the same syntax as rand and accept
-    a comma separated list of dimensions or a dimension vector.
-
-    Functions have been made Matlab-compatible with regard to special
-    cases (probability on boundaries, probabilities for values outside
-    distribution, etc.).  This may cause subtle changes to existing
-    scripts.
-
-    negative binomial function has been extended to real, non-integer
-    inputs.  The discrete_inv function now returns v(1) for 0 instead of
-    NaN.  The nbincdf function has been recoded to use a closed form
-    solution with betainc.
-
- ** strread, textscan, and textread have been completely revamped.
-
-    They now support nearly all Matlab functionality including:
-
-      * Matlab-compatible whitespace and delimiter defaults
-
-      * Matlab-compatible options: 'whitespace', treatasempty', format
-        string repeat count, user-specified comment style, uneven-length
-        output arrays, %n and %u conversion specifiers (provisionally)
-
- ** All .m string functions have been modified for better performance or
-    greater Matlab compatibility.  Performance gains of 15X-30X have
-    been demonstrated.  Operations on cell array of strings no longer pay
-    quite as high a penalty as those on 2-D character arrays.
-
-      deblank:  Now requires character or cellstr input.
-
-      strtrim:  Now requires character or cellstr input.
-                No longer trims nulls ("\0") from string for Matlab
-                compatibility.
-
-      strmatch: Follows documentation precisely and ignores trailing spaces
-                in pattern and in string.  Note that this is documented
-                Matlab behavior but the implementation apparently does
-                not always follow it.
-
-      substr:   Now possible to specify a negative LEN option which
-                extracts to within LEN of the end of the string.
-
-      strtok:   Now accepts cellstr input.
-
-      base2dec, bin2dec, hex2dec:
-                Now accept cellstr inputs.
-
-      dec2base, dec2bin, dec2hex:
-                Now accept cellstr inputs.
-
-      index, rindex:
-                Now accept 2-D character array input.
-
-      strsplit: Now accepts 2-D character array input.
-
- ** Geometry functions derived from Qhull (convhull, delaunay, voronoi)
-    have been revamped.  The options passed to the underlying qhull
-    command have been changed for better results or for Matlab
-    compatibility.
-
-      convhull: Default options are "Qt" for 2D, 3D, 4D inputs
-                Default options are "Qt Qx" for 5D and higher
-
-      delaunay: Default options are "Qt Qbb Qc Qz" for 2D and 3D inputs
-                Default options are "Qt Qbb Qc Qx" for 4D and higher
-
-      voronoi:  No default arguments
-
- ** Date/Time functions updated.  Millisecond support with FFF format
-    string now supported.
-
-    datestr: Numerical formats 21, 22, 29 changed to match Matlab.
-             Now accepts cellstr input.
-
- ** The following warning IDs have been removed:
-
-      Octave:associativity-change
-      Octave:complex-cmp-ops
-      Octave:empty-list-elements
-      Octave:fortran-indexing
-      Octave:precedence-change
-      
- ** The warning ID Octave:string-concat has been renamed to
-    Octave:mixed-string-concat.
-
- ** Octave now includes the following Matlab-compatible preference
-    functions:
-
-      addpref  getpref  ispref  rmpref  setpref
-
- ** The following Matlab-compatible handle graphics functions have been
-    added:
-
-      guidata         uipanel        uitoolbar
-      guihandles      uipushtool     uiwait
-      uicontextmenu   uiresume       waitfor
-      uicontrol       uitoggletool
-
-    The uiXXX functions above are experimental.
-
-    Except for uiwait and uiresume, the uiXXX functions are not
-    supported with the FLTK+OpenGL graphics toolkit.
-
-    The gnuplot graphics toolkit does not support any of the uiXXX
-    functions nor the waitfor function.
-
- ** New keyword parfor (parallel for loop) is now recognized as a valid
-    keyword.  Implementation, however, is still mapped to an ordinary
-    for loop.
-
- ** Other new functions added in 3.6.0:
-
-      bicg                       nthargout                   usejava
-      is_dq_string               narginchk                   waitbar
-      is_sq_string               python                      zscore
-      is_function_handle         register_graphics_toolkit 
-      loaded_graphics_toolkits   recycle                   
-
- ** Deprecated functions.
-
-    The following functions were deprecated in Octave 3.2 and have been
-    removed from Octave 3.6.
-                                           
-      create_set          spcholinv    splu   
-      dmult               spcumprod    spmax
-      iscommand           spcumsum     spmin
-      israwcommand        spdet        spprod
-      lchol               spdiag       spqr
-      loadimage           spfind       spsum
-      mark_as_command     sphcat       spsumsq
-      mark_as_rawcommand  spinv        spvcat 
-      spatan2             spkron       str2mat
-      spchol              splchol      unmark_command
-      spchol2inv          split        unmark_rawcommand
-
-    The following functions have been deprecated in Octave 3.6 and will
-    be removed from Octave 3.10 (or whatever version is the second major
-    release after 3.6):
-
-      cut                is_duplicate_entry
-      cor                polyderiv
-      corrcoef           shell_cmd 
-      __error_text__     studentize
-      error_text         sylvester_matrix
-</pre>
--- a/NEWS-3.8.html	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,400 +0,0 @@
-<pre>
-Summary of important user-visible changes for version 3.8:
----------------------------------------------------------
-
-  ** One of the biggest new features for Octave 3.8 is a graphical user
-     interface.  It is the one thing that users have requested most
-     often over the last few years and now it is almost ready.  But
-     because it is not quite as polished as we would like, we have
-     decided to wait until the 4.0.x release series before making the
-     GUI the default interface (until then, you can use the --force-gui
-     option to start the GUI).
-
-     Given the length of time and the number of bug fixes and
-     improvements since the last major release Octave, we also decided
-     against delaying the release of all these new improvements any
-     longer just to perfect the GUI.  So please enjoy the 3.8 release of
-     Octave and the preview of the new GUI.  We believe it is working
-     reasonably well, but we also know that there are some obvious rough
-     spots and many things that could be improved.
-
-     WE NEED YOUR HELP.  There are many ways that you can help us fix
-     the remaining problems, complete the GUI, and improve the overall
-     user experience for both novices and experts alike:
-
-       * If you are a skilled software developer, you can help by
-         contributing your time to help with Octave's development.  See
-         http://octave.org/get-involved.html for more information.
-
-       * If Octave does not work properly, you are encouraged
-         report the problems you find.  See http://octave.org/bugs.html
-         for more information about how to report problems.
-
-       * Whether you are a user or developer, you can help to fund the
-         project.  Octave development takes a lot of time and expertise.
-         Your contributions help to ensure that Octave will continue to
-         improve.  See http://octave.org/donate.html for more details.
-
-    We hope you find Octave to be useful.  Please help us make it even
-    better for the future!
-
- ** Octave now uses OpenGL graphics by default with FLTK widgets.  If
-    OpenGL libraries or FLTK widgets are not available when Octave is
-    built, gnuplot is used.  You may also choose to use gnuplot for
-    graphics by executing the command
-
-      graphics_toolkit ("gnuplot")
-
-    Adding this command to your ~/.octaverc file will set the default
-    for each session.
-
- ** Printing or saving figures with OpenGL graphics requires the
-    gl2ps library which is no longer distributed with Octave.  The
-    software is widely available in most package managers.  If a
-    pre-compiled package does not exist for your system, you can find
-    the current sources at http://www.geuz.org/gl2ps/.
-
- ** Octave now supports nested functions with scoping rules that are
-    compatible with Matlab.  A nested function is one declared and defined
-    within the body of another function.  The nested function is only
-    accessible from within the enclosing function which makes it one
-    method for making private functions whose names do not conflict with those
-    in the global namespace (See also subfunctions and private functions).
-    In addition, variables in the enclosing function are visible within the
-    nested function.  This makes it possible to have a pseudo-global variable
-    which can be seen by a group of functions, but which is not visible in
-    the global namespace.
-    
-    Example:
-    function outerfunc (...)
-      ...
-      function nested1 (...)
-        ...
-        function nested2 (...)
-           ...
-        endfunction
-      endfunction
-
-      function nested3 (...)
-        ...
-      endfunction
-    endfunction
-
- ** Line continuations inside character strings have changed.
-
-    The sequence '...' is no longer recognized as a line continuation
-    inside a character string.  A backslash '\' followed by a newline
-    character is no longer recognized as a line continuation inside
-    single-quoted character strings.  Inside double-quoted character
-    strings, a backslash followed by a newline character is still
-    recognized as a line continuation, but the backslash character must
-    be followed *immediately* by the newline character.  No whitespace or
-    end-of-line comment may appear between them.
-
- ** Backslash as a continuation marker outside of double-quoted strings
-    is now deprecated.
-
-    Using '\' as a continuation marker outside of double quoted strings
-    is now deprecated and will be removed from a future version of
-    Octave.  When that is done, the behavior of
-
-      (a \
-       b)
-
-    will be consistent with other binary operators.
-
- ** Redundant terminal comma accepted by parser
-
-    A redundant terminal comma is now accepted in matrix
-    definitions which allows writing code such as 
-
-    [a,...
-     b,...
-     c,...
-    ] = deal (1,2,3)
-
- ** Octave now has limited support for named exceptions
-
-    The following syntax is now accepted:
-
-      try
-        statements
-      catch exception-id
-        statements
-      end
-
-    The exception-id is a structure with the fields "message" and
-    "identifier".  For example
-
-      try
-        error ("Octave:error-id", "error message");
-      catch myerr
-        printf ("identifier: %s\n", myerr.identifier);
-        printf ("message:    %s\n", myerr.message);
-      end_try_catch
-
-    When classdef-style classes are added to Octave, the exception-id
-    will become an MException object.
-
- ** Warning states may now be set temporarily, until the end of the
-    current function, using the syntax
-
-      warning STATE ID "local"
-
-    in which STATE may be "on", "off", or "error".  Changes to warning
-    states that are set locally affect the current function and all
-    functions called from the current scope.  The previous warning state
-    is restored on return from the current function.  The "local"
-    option is ignored if used in the top-level workspace.
-
- ** Warning IDs renamed:
-
-    Octave:array-as-scalar => Octave:array-to-scalar
-    Octave:array-as-vector => Octave:array-to-vector
-
- ** 'emptymatch', 'noemptymatch' options added to regular expressions.
-
-    With this addition Octave now accepts the entire set of Matlab options
-    for regular expressions.  'noemptymatch' is the default, but 'emptymatch'
-    has certain uses where you need to match an assertion rather than actual
-    characters.  For example, 
-
-    regexprep ('World', '^', 'Hello ', 'emptymatch')
-      => Hello World
-
-    where the pattern is actually the assertion '^' or start-of-line.
-
- ** For compatibility with Matlab, the regexp, regexpi, and regexprep
-    functions now process backslash escape sequences in single-quoted pattern
-    strings.  In addition, the regexprep function now processes backslash
-    escapes in single-quoted replacement strings.  For example,
-    
-    regexprep (str, '\t', '\n')
-
-    would search the variable str for a TAB character (escape sequence \t)
-    and replace it with a NEWLINE (escape sequence \n).  Previously the
-    expression would have searched for a literal '\' followed by 't' and
-    replaced the two characters with the sequence '\', 'n'.
-
- ** A TeX parser has been implemented for the FLTK toolkit and is the default
-    for any text object including titles and axis labels.  The TeX parser is
-    supported only for display on a monitor, not for printing.
-
-    A quick summary of features:
-
-    Code         Feature     Example             Comment
-    -----------------------------------------------------------------
-    _            subscript   H_2O                formula for water
-    ^            exponent    y=x^2               formula for parabola
-    \char        symbol      \beta               Greek symbol beta
-    \fontname    font        \fontname{Arial}    set Arial font
-    \fontsize    fontsize    \fontsize{16}       set fontsize 16
-    \color[rgb]  fontcolor   \color[rgb]{1 0 1}  set magenta color 
-    \bf          bold        \bfBold Text        bold font
-    \it          italic      \itItalic Text      italic font
-    \sl          slanted     \slOblique Text     slanted font
-    \rm          normal      \bfBold\rmNormal    normal font
-    {}           group       {\bf Bold}Normal    group objects
-                             e^{i*\pi} = -1      group objects
-
- ** The m-files in the plot directory have been overhauled.
-
-    The plot functions now produce output that is nearly visually compatible
-    with Matlab.  Plot performance has also increased, dramatically for some
-    functions such as comet and waitbar.  Finally, the documentation for most
-    functions has been updated so it should be clearer both how to use a
-    function and when a function is appropriate.
-
- ** The m-files in the image directory have been overhauled.
-
-    The principal benefit is that Octave will now no longer automatically
-    convert images stored with integers to doubles.  Storing images as uint8
-    or uint16 requires only 1/8 or 1/4 the memory of an image stored using
-    doubles.  For certain operations, such as fft2, the image must still be
-    converted to double in order to work.
-
-    Other changes include fixes to the way indexed images are read from a
-    colormap depending on the image class (integer images have a -1 offset to
-    the colormap row number).
-
- ** The imread and imwrite functions have been completely rewritten.
-
-    The main changes relate to the alpha channel, support for reading and
-    writing of floating point images, implemented writing of indexed images,
-    and appending images to multipage image files.
-
-    The issues that may arise due to backwards incompatibility are:
-
-      * imwrite no longer interprets a length of 2 or 4 in the third dimension
-        as grayscale or RGB with alpha channel (a length of 4 will be saved
-        as a CMYK image).  Alpha channel must be passed as separate argument.
-
-      * imread will always return the colormap indexes when reading an indexed
-        image, even if the colormap is not requested as output.
-
-      * transparency values are now inverted from previous Octave versions
-        (0 is for completely transparent instead of completely opaque).
-
-    In addition, the function imformats has been implemented to expand
-    reading and writing of images of different formats through imread
-    and imwrite.
-
- ** The colormap function now provides new options--"list", "register",
-    and "unregister"--to list all available colormap functions, and to
-    add or remove a function name from the list of known colormap
-    functions.  Packages that implement extra colormaps should use these
-    commands with PKG_ADD and PKG_DEL statements.
-
- ** strsplit has been modified to be compatible with Matlab.  There
-    are two instances where backward compatibility is broken.
-
-    (1) Delimiters are now string vectors, not scalars.
-
-    Octave's legacy behavior
-
-      strsplit ("1 2, 3", ", ")
-      ans = 
-      {
-       [1,1] = 1
-       [1,2] = 2
-       [1,3] = 
-       [1,4] = 3
-      }
-
-    Matlab compatible behavior
-
-      strsplit ("1 2, 3", ", ")
-      ans = 
-      {
-       [1,1] = 1 2
-       [1,2] = 3
-      }
-
-    (2) By default, Matlab treats consecutive delimiters as a single
-    delimiter.  By default, Octave's legacy behavior was to return an
-    empty string for the part between the delmiters.
-
-    Where legacy behavior is desired, the call to strsplit() may be
-    replaced by ostrsplit(), which is Octave's original implementation of
-    strsplit().
-
- ** The datevec function has been extended for better Matlab compatibility.
-    It now accepts string inputs in the following numerical formats: 12, 21,
-    22, 26, 29, 31.  This is undocumented, but verifiable, Matlab behavior.
-    In addition, the default for formats which do not specify a date is
-    January 1st of the current year.  The previous default was the current day,
-    month, and year.  This may produce changes in existing scripts.
-
- ** The error function and its derivatives has been extended to accept complex
-    arguments.  The following functions now accept complex inputs:
-
-    erf  erfc  erfcx   
-
-    In addition two new error functions erfi (imaginary error function) and
-    dawson (scaled imaginary error function) have been added.
-
- ** The glpk function has been modified to reflect changes in the GLPK
-    library.  The "round" and "itcnt" options have been removed.  The
-    "relax" option has been replaced by the "rtest" option.  The numeric
-    values of error codes and of some options have also changed.
-
- ** The kurtosis function has changed definition to be compatible with 
-    Matlab.  It now returns the base kurtosis instead of the "excess kurtosis".
-    The old behavior can be had by changing scripts to normalize with -3.
-
-               "excess kurtosis" = kurtosis (x) - 3
-
- ** The moment function has changed definition to be compatible with 
-    Matlab.  It now returns the central moment instead of the raw moment.
-    The old behavior can be had by passing the type argument "r" for raw.
-
- ** The default name of the Octave crash dump file is now 
-    "octave-workspace" instead of "octave-core".  The exact name can
-    always be customized with the octave_core_file_name function.
-
- ** A citation command has been added to display information on how to
-    cite Octave and packages in publications.  The package system will
-    look for and install CITATION files from packages.
-
- ** The java package from Octave Forge is now part of core Octave.  The
-    following new functions are available for interacting with Java
-    directly from Octave:
-
-      debug_java     java_matrix_autoconversion
-      isjava         java_unsigned_autoconversion
-      java2mat       javaaddpath
-      javaArray      javaclasspath
-      javaMethod     javamem
-      javaObject     javarmpath
-                     usejava
-
-    In addition, the following functions that use the Java interface
-    are now available (provided that Octave is compiled with support for
-    Java enabled):
-
-      helpdlg    listdlg   questdlg
-      inputdlg   msgbox    warndlg
-
- ** Other new functions added in 3.8.0:
-
-      atan2d                     erfi             lines
-      base64_decode              expint           linsolve
-      base64_encode              findfigs         missing_component_hook
-      betaincinv                 flintmax         polyeig
-      built_in_docstrings_file   fminsearch       prefdir
-      cmpermute                  gallery          preferences
-      cmunique                   gco              readline_re_read_init_file
-      colorcube                  hdl2struct       readline_read_init_file
-      copyobj                    history_save     rgbplot
-      dawson                     imformats        save_default_options
-      dblist                     importdata       shrinkfaces
-      desktop                    isaxes           splinefit
-      doc_cache_create           iscolormap       stemleaf
-      ellipj                     isequaln         strjoin
-      ellipke                    jit_debug        struct2hdl
-      erfcinv                    jit_enable       tetramesh
-                                 jit_startcnt     waterfall
-
- ** Deprecated functions.
-
-    The following functions were deprecated in Octave 3.4 and have been
-    removed from Octave 3.8.
-                                           
-      autocor    dispatch              is_global    setstr
-      autocov    fstat                 krylovb      strerror
-      betai      gammai                perror       values
-      cellidx    glpkmex               replot               
-      cquad      is_duplicate_entry    saveimage            
-      
-    The following functions have been deprecated in Octave 3.8 and will
-    be removed from Octave 3.12 (or whatever version is the second major
-    release after 3.8):
-
-      default_save_options    java_new            
-      gen_doc_cache           java_set                   
-      interp1q                java_unsigned_conversion
-      isequalwithequalnans    javafields                
-      java_convert_matrix     javamethods               
-      java_debug              re_read_readline_init_file
-      java_get                read_readline_init_file   
-      java_invoke             saving_history            
-
-
-    The following keywords have been deprecated in Octave 3.8 and will
-    be removed from Octave 3.12 (or whatever version is the second major
-    release after 3.8):
-
-      static
-
-    The following configuration variables have been deprecated in Octave
-    3.8 and will be removed from Octave 3.12 (or whatever version is the
-    second major release after 3.8):
-
-      CC_VERSION  (now GCC_VERSION)
-      CXX_VERSION (now GXX_VERSION)
-
-    The internal class Octave_map has been deprecated in Octave 3.8 and
-    will be removed from Octave 3.12 (or whatever version is the second
-    major release after 3.8).  Replacement classes are octave_map
-    (struct array) or octave_scalar_map for a single structure.
-</pre>
--- a/NEWS-3.html	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +0,0 @@
-<!doctype html public "-//IETF//DTD HTML Strict//EN">
-<html>
-<head>
-<title>Notable Changes in Octave version 3</title>
-<link rel="stylesheet" type="text/css" href="octave.css" />
-</head>
-
-<body>
-<div id="title"><h1>News for Octave Version 3</h1></div>
-
-<ul>
-<li>Compatibility with Matlab graphics is much better.  We now
-    have some graphics features that work like Matlab's Handle
-    Graphics (tm):
-<ul>
-<li>  You can make a subplot and then use the print function to
-      generate file with the plot.</li>
-
-<li>  RGB line colors are supported if you use gnuplot 4.2.  Octave
-      can still use gnuplot 4.0, but there is no way to set arbitrary
-      line colors with it when using the Matlab-style plot functions.
-      There never was any way to do this reliably with older versions
-      of gnuplot (whether run from Octave or not) since it only
-      provided a limited set to choose from, and they were terminal
-      dependent, so choosing color 1 with the X11 terminal would be
-      different from color 1 with the PostScript terminal.  Valid RGB
-      colors for gnuplot 4.0 are the eight possible combinations of 0
-      and 1 for the R, G and B values. Invalid values are all mapped
-      to the same color.
-<p>
-      This also affects patch objects used in the bar, countour, meshc
-      and surfc functions, where the bars and contours will be
-      monochrome. A workaround for this is to type "colormap gmap40"
-      that loads a colormap that in many cases will be adequate for
-      simple bar and contour plots.</li>
-
-<li>  You can control the width of lines using (for example):
-<pre>
-	line (x, y, "linewidth", 4, "color", [1, 0, 0.5]);
-</pre>
-      (this also shows the color feature).</li>
-
-<li>  With gnuplot 4.2, image data is plotted with gnuplot and may be
-      combined with other 2-d plot data.</li>
-
-<li>  Lines for contour plots are generated with an Octave function, so
-      contour plots are now 2-d plots instead of special 3-d plots, and
-      this allows you to plot additional 2-d data on top of a contour
-      plot.</li>
-
-<li>  With the gnuplot "extended" terminals the TeX interpreter is
-      emulated. However, this means that the TeX interpreter is only
-      supported on the postscript terminals with gnuplot 4.0. Under
-      gnuplot 4.2 the terminals aqua, dumb, png, jpeg, gif, pm, windows,
-      wxt, svg and x11 are supported as well.</li>
-
-<li>  The following plot commands are now considered obsolete and will
-      be removed from a future version of Octave:
-<pre>
-	__gnuplot_set__
-	__gnuplot_show__
-	__gnuplot_plot__
-	__gnuplot_splot__
-	__gnuplot_replot__
-</pre>
-      Additionally, these functions no longer have any effect on plots
-      created with the Matlab-style plot commands
-      (<tt>plot</tt>, <tt>line</tt>, <tt>mesh</tt>, <tt>semilogx</tt>,
-      etc.). 
-
-<li>  Plot property values are not extensively checked.  Specifying
-      invalid property values may produce unpredictible results.</li>
-
-<li>  Octave now sends data over the same pipe that is used to send
-      commands to gnuplot.  While this avoids the problem of
-      cluttering /tmp with data files, it is no longer possible to use
-      the mouse to zoom in on plots.  This is a limitation of gnuplot,
-      which is unable to zoom when the data it plots is not stored in
-      a file.  Some work has been done to fix this problem in newer
-      versions of gnuplot (> 4.2.2).  See for example,
-      <a href="http://www.nabble.com/zooming-of-inline-data-tf4357017.html#a12416496">this thread</a> on the gnuplot development list.
-</ul></li>
-
-
-<li>The way Octave handles search paths has changed.  Instead of
-    setting the built-in variable <tt>LOADPATH</tt>, you must
-    use <tt>addpath</tt>, <tt>rmpath</tt>, or <tt>path</tt> to
-    manipulate the function search path.  These functions will
-    maintain <tt>"."</tt> at the head of the path, for compatibility
-    with Matlab.
-<p>
-    Leading, trailing or doubled colons are no longer special.
-    Now, all elements of the search path are explicitly included in
-    the path when Octave starts.  To display the path, use
-    the <tt>path</tt> function.
-<p>
-    Path elements that end in <tt>//</tt> are no longer searched recursively.
-    Instead, you may use addpath and the genpath function to add an
-    entire directory tree to the path.  For example,
-<pre>
-      addpath (genpath ("~/octave"));
-</pre>
-    will add ~/octave and all directories below it to the head of the
-    path.</li>
-
-
-<li>Previous versions of Octave had a number of built-in variables to
-    control warnings (for example, <tt>warn_divide_by_zero</tt>).  These
-    variables have been replaced by warning identifiers that are used
-    with the warning function to control the state of warnings.
-<p>
-    For example, instead of writing
-<pre>
-      warn_divide_by_zero = false;
-</pre>
-    to disable divide-by-zero warnings, you should write
-<pre>
-      warning ("off", "Octave:divide-by-zero");
-</pre>
-    You may use the same technique in your own code to control
-    warnings.  For example, you can use
-<pre>
-      warning ("My-package:phase-of-the-moon",
-               "the phase of the moon could cause trouble today");
-</pre>
-    to allow users to control this warning using the
-    <tt>"My-package:phase-of-the-moon"</tt> warning identifier.
-<p>
-    You may also enable or disable all warnings, or turn them into
-    errors:
-<pre>
-      warning ("on", "all");
-      warning ("off", "all");
-      warning ("error", "Octave:divide-by-zero");
-      warning ("error", "all");
-</pre>
-    You can query the state of current warnings using
-<pre>
-      warning ("query", ID)
-      warning ("query")
-</pre>
-    (only those warning IDs which have been explicitly set are
-    returned).
-<p>
-    A partial list and description of warning identifiers is available
-    using
-<pre>
-      help warning_ids
-</pre></li>
-
-
-<li>All built-in variables have been converted to functions.  This
-    change simplifies the interpreter and allows a consistent
-    interface to internal variables for user-defined packages and the
-    core functions distributed with Octave.  In most cases, code that
-    simply accesses internal variables does not need to change.  Code
-    that sets internal variables will change.  For example, instead of
-    writing
-<pre>
-      PS1 = ">> ";
-</pre>
-    you will need to write
-<pre>
-      PS1 (">> ");
-</pre>
-    If you need write code that will run in both old and new versions
-    of Octave, you can use something like
-<pre>
-      if (exist ("OCTAVE_VERSION") == 5)
-        ## New:
-        PS1 (">> ");
-      else
-        ## Old:
-        PS1 = ">> ";
-      endif
-</pre></li>
-
-
-<li>For compatibility with Matlab, the output order of Octave's
-    <tt>"system"</tt> function has changed from
-<pre>
-      [output, status] = system (cmd);
-</pre>
-    to
-<pre>
-      [status, output] = system (cmd);
-</pre></li>
-
-
-<li>For compatibility with Matlab, <tt>normcdf</tt>, <tt>norminv</tt>,
-    <tt>normpdf</tt>, and <tt>normrnd</tt> have been modified to
-    compute distributions using the standard deviation instead of the
-    variance.</li>
-
-
-<li>For compatibility with Matlab, the output of Octave's fsolve
-    function has been changed from
-<pre>
-      [x, info, msg] = fsolve (...);
-</pre>
-    to
-<pre>
-      [x, fval, info] = fsolve (...);
-</pre></li>
-
-
-<li>For compatibility with Matlab, <tt>normcdf</tt>, <tt>norminv</tt>,
-    <tt>normpdf</tt>, and <tt>normrnd</tt> have been modified to
-    compute distributions using the standard deviation instead of the
-    variance.</li>
-
-
-<li>For compatibility with
-    Matlab, <tt>gamcdf</tt>, <tt>gaminv</tt>, <tt>gampdf</tt>,
-    <tt>gamrnd</tt>, <tt>expcdf</tt>, <tt>expinv</tt>, <tt>exppdf</tt>
-    and <tt>exprnd</tt> have been modified to compute the
-    distributions using the standard scale factor rather than one over
-    the scale factor.
-</ul>
-
-</body>
-</html>
--- a/NEWS-4.0.html	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,339 +0,0 @@
-<pre>
-Summary of important user-visible changes for version 4.0:
----------------------------------------------------------
-
- ** A graphical user interface is now the default when running Octave
-    interactively.  The start-up option --no-gui will run the familiar
-    command line interface, and still allows use of the GUI dialogs and
-    qt plotting toolkit.  The option --no-gui-libs runs a minimalist
-    command line interface that does not link with the Qt libraries and
-    uses the fltk toolkit for plotting.
-
- ** Octave now uses OpenGL graphics with Qt widgets by default.  If OpenGL
-    libraries are not available when Octave is built, gnuplot is used.
-    You may choose to use the fltk or gnuplot toolkit for graphics by
-    executing the command
-
-      graphics_toolkit ("fltk")
-        OR
-      graphics_toolkit ("gnuplot")
-
-    Adding such a command to your ~/.octaverc file will set the default
-    for each session.
-
- ** A new syntax for object oriented programming termed classdef has been
-    introduced.  See the manual for more extensive documentation of the
-    classdef interface.
-
-    New keywords:
-
-      classdef      endclassdef
-      enumeration   endenumeration
-      events        endevents
-      methods       endmethods
-      properties    endproperties
-
- ** New audio functions and classes:
-
-      audiodevinfo  audioread      sound
-      audioinfo     audiorecorder  soundsc
-      audioplayer   audiowrite
-
- ** Other new classes in Octave 4.0:
-
-      audioplayer    inputParser
-      audiorecorder
-
- ** Optional stricter Matlab compatibility for ranges, diagonal matrices,
-    and permutation matrices.
-
-    Octave has internal optimizations which use space-efficient storage
-    for the three data types above.  Three new functions have been added
-    which control whether the optimizations are used (default), or whether
-    the data types are stored as full matrices.
-
-    disable_range   disable_diagonal_matrix   disable_permutation_matrix
-
-    All three optimizations are disabled if Octave is started with the
-    --braindead command line option.
-
- ** The preference
-
-      do_braindead_shortcircuit_evaluation
-
-    is now enabled by default.
-
- ** The preference
-
-      allow_noninteger_range_as_index
-
-    is now enabled by default and the warning ID
-
-      Octave:noninteger-range-as-index
-
-    is now set to "on" by default instead of "error" by default and "on"
-    for --traditional.
-
- ** The "backtrace" warning option is now enabled by default.  This change
-    was made for Matlab compatibility.
-
- ** For compatibility with Matlab, the "ismatrix (x)" function now only checks
-    the dimension of "x".  The old behaviour of "ismatrix" is obtained by
-    "isnumeric (x) || islogical (x) || ischar (x)".
-
- ** The nextpow2 function behaviour has been changed for vector inputs.
-    Instead of computing `nextpow2 (length (x))', it will now compute
-    nextpow2 for each element of the input.  This change is Matlab compatible,
-    and also prevents bugs for "vectors" of length 1.
-
- ** polyeig now returns a row vector of eigenvalues rather than a matrix
-    with the eigenvalues on the diagonal.  This change was made for Matlab
-    compatibility.
-
- ** Interpolation function changes for Matlab compatibility
-
-    The interpolation method 'cubic' is now equivalent to 'pchip'
-    for interp1, interp2, and interp3.  Previously, 'cubic' was equivalent
-    to 'spline' for interp2.  This may produce different results as 'spline'
-    has continuous 1st and 2nd derivatives while 'pchip' only has a continuous
-    1st derivative.  The methods 'next' and 'previous' have been added to
-    interp1 for compatibility.
-
- ** The delaunay function has been extended to accept 3-D inputs for
-    Matlab compatibility.  The delaunay function no longer plots the
-    triangulation if no output argument is requested, instead, the
-    triangulation is always returned.  The delaunay3 function which
-    handles 3-D inputs has been deprecated in favor of delaunay.
-
- ** The trigonometric functions asin and acos return different phase values
-    from previous versions of Octave when the input is outside the principal
-    branch ([-1, 1]).  If the real portion of the input is greater than 1 then
-    the limit from below is taken.  If the real portion is less than 1 then the
-    limit from above is taken.  This criteria is consistent with several other
-    numerical analysis software packages.
-
- ** The hyperbolic function acosh now returns values with a phase in the range
-    [-pi/2, +pi/2].  Previously Octave returned values in the range [0, pi].
-    This is consistent with several other numerical analysis software packages.
-
- ** strfind changes when using empty pattern ("") for Matlab compatibility
-
-    strfind now returns an empty array when the pattern itself is empty.
-    In previous versions of Octave, strfind matched at every character
-    location when the pattern was empty.
-
-      NEW
-      strfind ("abc", "") => []
-      OLD
-      strfind ("abc", "") => [1, 2, 3, 4]
-
- ** Integer formats used in the printf family of functions now work for
-    64-bit integers and are more compatible with Matlab when printing
-    non-integer values.  Now instead of truncating, Octave will switch
-    the effective format to '%g' in the following circumstances:
-
-      * the value of an integer type (int8, uint32, etc.) value exceeds
-        the maximum for the format specifier.  For '%d', the limit is
-        intmax ('int64') and for '%u' it is intmax ('uint64').
-
-      * round(x) != x or the value is outside the range allowed by the
-        integer format specifier.
-
-    There is still one difference:  Matlab switches to '%e' and Octave
-    switches to '%g'.
-
- ** The functions intersect, setdiff, setxor, and union now return a
-    column vector as output unless the input was a row vector.  This change
-    was made for Matlab compatibility.
-
- ** The inpolygon function now returns true for points that are within
-    the polygon OR on it's edge.  This change was made for Matlab
-    compatibility. 
-
- ** The archive family of functions (bzip2, gzip, zip, tar) and their
-    unpacking routines (bunzip2, gunzip, unzip, untar, unpack) have
-    been recoded.  Excepting unpack, the default is now to place files
-    in the same directory as the archive (on unpack) or as the original
-    files (on archiving).
-
- ** Qt and FLTK graphics toolkits now support offscreen rendering on Linux.
-    In other words, print will work even when the figure visibility is "off".
-
- ** Z-order stacking issues with patches, grid lines, and line object
-    plot markers for on screen display and printing have all been resolved.
-    For 2-D plots the axis grid lines can be placed on top of the plot
-    with set (gca, "layer", "top").
-
- ** The patch graphic object has been overhauled.  It now produces visual
-    results equivalent to Matlab even for esoteric combinations of
-    faces/vertices/cdata.
-
- ** The polar() plot function now draws a circular theta axis and
-    radial rho axis rather than using a rectangular x/y axis.
-
- ** linkprop has been completely re-coded for performance and Matlab
-    compatibility.  It now returns a linkprop object which must be stored
-    in a variable for as long as the graphic objects should remain linked.
-    To unlink properties use 'clear hlink' where hlink is the variable
-    containing the linkprop object.
-
- ** isprime has been extended to operate on negative and complex inputs.
-
- ** xor has been extended to accept more than two arguments in which case
-    it performs cumulative XOR reduction.
-
- ** The following functions now support N-dimensional arrays:
-
-      fliplr   flipud   rot90   rectint
-
- ** The new warning ID "Octave:data-file-in-path" replaces the three
-    previous separate warning IDs "Octave:fopen-file-in-path",
-    "Octave:load-file-in-path", and "Octave:md5sum-file-in-path".
-
- ** The warning ID Octave:singular-matrix-div has been replaced by
-    Octave:nearly-singular-matrix and Octave:singular-matrix.
-
- ** The warning ID Octave:matlab-incompatible has been replaced by
-    Octave:language-extension to better reflect its meaning.
-
- ** The warning ID Octave:broadcast has been removed.  Instead automatic
-    broadcasting will throw an Octave:language-extension warning.  This
-    warning ID is used for broadcasting as well as other features not
-    available in Matlab.
-
- ** Other new functions added in 4.0:
-
-      annotation
-      bandwidth
-      cubehelix
-      dir_in_loadpath
-      flip
-      frame2im
-      get_home_directory
-      hgload
-      hgsave
-      ichol
-      ilu
-      im2frame
-      isbanded
-      isdiag
-      isstudent
-      istril
-      istriu
-      javachk
-      jit_failcnt
-      linkaxes
-      lscov
-      metaclass
-      numfields
-      open
-      ordschur
-      pan
-      qmr
-      rotate
-      rotate3d
-      sylvester
-      unsetenv
-      validateattributes
-      zoom
-
- ** inline() scheduled for eventual deprecation by Matlab
-
-    Functions created through the use of inline are scheduled for deprecation
-    by Matlab.  When this occurs Octave will continue to support inline
-    functions for an indeterminate amount of time before also removing support.
-    All new code should use anonymous functions in place of inline functions.
-
- ** Deprecated functions.
-
-    The following functions have been deprecated in Octave 4.0 and will
-    be removed from Octave 4.4 (or whatever version is the second major
-    release after 4.0):
-
-      Function             | Replacement
-      ---------------------|------------------
-      bicubic              | interp2
-      delaunay3            | delaunay
-      dump_prefs           | individual preference get/set routines
-      find_dir_in_path     | dir_in_loadpath
-      finite               | isfinite
-      fmod                 | rem
-      fnmatch              | glob or regexp
-      loadaudio            | audioread
-      luinc                | ilu or ichol
-      mouse_wheel_zoom     | mousewheelzoom axes property
-      nfields              | numfields
-      octave_tmp_file_name | tempname
-      playaudio            | audioplayer
-      saveaudio            | audiowrite
-      syl                  | sylvester
-      usage                | print_usage
-
-      allow_noninteger_range_as_index
-      do_braindead_shortcircuit_evaluation
-      setaudio
-
- ** The following functions were deprecated in Octave 3.8 and will be
-    removed from Octave 4.2 (or whatever version is the second major
-    release after 3.8):
-
-      default_save_options    java_new
-      gen_doc_cache           java_unsigned_conversion
-      interp1q                javafields
-      isequalwithequalnans    javamethods
-      java_convert_matrix     re_read_readline_init_file
-      java_debug              read_readline_init_file
-      java_invoke             saving_history
-
- ** The following functions were deprecated in Octave 3.6 and have been
-    removed from Octave 4.0.
-
-      cut                polyderiv
-      cor                shell_cmd
-      corrcoef           studentize
-      __error_text__     sylvester_matrix
-      error_text
-
- ** The following keywords were deprecated in Octave 3.8 and have been
-    removed from Octave 4.0
-
-      static
-
- ** The following configuration variables were deprecated in Octave 3.8
-    and have been removed from Octave 4.0
-
-      CC_VERSION  (now GCC_VERSION)
-      CXX_VERSION (now GXX_VERSION)
-
- ** The internal function atan2 of the sparse matrix class has been deprecated
-    in Octave 4.0 and will be removed from Octave 4.4 (or whatever version is
-    the second major release after 4.0).  Use the Fatan2 function with sparse
-    inputs as a replacement.
-
- ** The internal class Octave_map was deprecated in Octave 3.8 and has
-    been removed from Octave 4.0.  Replacement classes are
-    octave_map (struct array) or octave_scalar_map for a single structure.
-
- ** The configure option --enable-octave-allocator has been removed.
-    The internal class octave_allocator declared in oct-alloc.h has
-    been removed.  The header remains, but is deprecated.  The macros to
-    access the class (DECLARE_OCTAVE_ALLOCATOR, DEFINE_OCTAVE_ALLOCATOR,
-    and DEFINE_OCTAVE_ALLOCATOR2) are now unconditionally defined to be
-    empty.
-
- ** Octave now has OpenMP enabled by default if the system provides a
-    working OpenMP implementation.  This allows oct-file modules to take
-    advantage of OpenMP if desired.  This can be disabled when building
-    Octave with the configure option --disable-openmp.
-
- ** Octave now automatically truncates intermediate calculations done with
-    floating point values to 64 bits.  Some hardware math co-processors, such
-    as the x87, maintain extra precision, but this leads to disagreements in
-    calculations when compared to reference implementations in software using
-    the IEEE standard for double precision.  There was no measurable
-    performance impact to this change, but it may be disabled with the
-    configure option --disable-float-truncate.  MinGW and Cygwin platforms,
-    as well as GCC compilers >= 5.0 require this feature.  Non-x87 hardware,
-    or hardware using SSE options exclusively, can disable float truncation
-    if desired.
-</pre>
--- a/NEWS-4.2.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,253 +0,0 @@
----
-layout: default
----
-
-<pre>
-
-
-Summary of important user-visible changes for version 4.2:
----------------------------------------------------------
-
- ** The parser has been extended to accept, but ignore, underscore
-    characters in numbers.  This facilitates writing more legible code
-    by using '_' as a thousands separator or to group nibbles into bytes
-    in hex constants.
-
-    Examples: 1_000_000 == 1e6  or  0xDE_AD_BE_EF
-
- ** The parser has been extended to understand binary numbers which
-    begin with the prefix '0b' or '0B'.  The value returned is Octave's
-    default numeric class of double, not at unsigned integer class.
-    Therefore numbers greater than flintmax, i.e., 2^53, will lose some
-    precision.
-
-    Examples: 0b101 == 5  or  0B1100_0001 == 0xC1
-
- ** gnuplot 4.4 is now the minimum version supported by Octave.
-
- ** The default set of colors used to plot lines has been updated to be
-    compatible with Matlab's new default color scheme.  The line plot
-    color scheme can be set with the axes property "ColorOrder".
-
- ** The default colormap is now set to "viridis" which is also the
-    default colormap in matplotlib.  This new colormap fixes some of the
-    main issues with the old default colormap "jet" such as its bad
-    "luminance profile" and is also more similar to Matlab's new default
-    colormap "parula".
-
- ** The colormap function no longer supports the input argument "list"
-    to show built-in colormaps.  Use "help colormap" to find the
-    built-in colormaps.
-
- ** The graphics command "hold on" now ensures that each new plot added
-    to an existing plot has a different color or linestyle according to
-    the "ColorOrder" and/or "LineStyleOrder" properties.  This is
-    equivalent to the old command "hold all" and was made for Matlab
-    compatibility.  Existing code *may* produce differently colored
-    plots if it did not specify the color for a plot and relied on each
-    new plot having the default first color in the "ColorOrder"
-    property.
-
- ** When starting, Octave now looks in the function path for a file
-    startup.m and executes any commands found there.  This change was
-    made to accommodate Matlab users.  Octave has it's own configuration
-    system based on the file .octaverc which is preferred.
-
- ** Octal ('\NNN') and hex ('\xNN') escape sequences in single quoted
-    strings are now interpreted by the function do_string_escapes().
-    The *printf family of functions now supports octal and hex escape
-    sequences in single-quoted strings for Matlab compatibility.
-
- ** Special octal and hex escape sequences for the pattern and
-    replacement strings in regular expressions are now interpreted for
-    Matlab compatibility.
-
-    octal: '\oNNN' or '\o{NNN}'
-    hex  : '\xNN'  or '\x{NN}'
-
- ** Unknown escape sequences in the replacement string for regexprep are
-    now substituted with their unescaped version and no warning is
-    emitted.  This change was made for Matlab compatibility.
-
-    Example: regexprep ('a', 'a', 'x\yz')
-             => 'xyz'
-
- ** mkfifo now interprets the MODE argument as an octal, not decimal,
-    integer.  This is consistent with the equivalent shell command.
-
- ** linspace now returns an empty matrix if the number of requested
-    points is 0 or a negative number.  This change was made to be
-    compatible with Matlab releases newer than 2011.  In addition,
-    Octave no longer supports matrix inputs for A or B.
-
- ** The cov function now returns the complex conjugate of the result
-    from previous versions of Octave.  This change was made for
-    compatibility with Matlab.
-
- ** condest now works with a normest1 compatible syntax.
-
- ** The griddata function no longer plots the interpolated mesh if no
-    output argument is requested, instead the vector or array of
-    interpolated values is always returned for Matlab compatibility.
-
- ** The new function "light" and the corresponding graphics object
-    provide light and shadow effects for patch and surface objects.
-
- ** The surfnorm function now returns unnormalized (magnitude != 1)
-    normal vectors for compatibility with Matlab.
-
- ** The normal vectors returned from isonormals have been reversed to
-    point towards smaller values for compatibility with Matlab.
-
- ** The quadl function now uses an absolute, rather than relative,
-    tolerance for Matlab compatibility.  The default tolerance is 1e-6
-    which may result in lower precision results than previous versions
-    of Octave which used eps as the relative tolerance.  The quadl
-    function has also been extended to return a second output with the
-    total number of function evaluations.
-
- ** The textscan function is now built-in and is much faster and much
-    more Matlab-compatible than the previous m-file version.
-
- ** Dialog boxes--errordlg, helpdlg, inputdlg, listdlg, msgbox,
-    questdlg, and warndlg--now exclusively use Qt for rendering.
-    Java based versions have been removed.
-
- ** The axes properties "TitleFontSizeMultiplier" and "TitleFontWeight"
-    are now implemented which control the default appearance of text
-    created with title().
-    The axes property "LabelFontSizeMultiplier" is now implemented
-    which controls the default appearance of text created with
-    xlabel(), ylabel(), or zlabel().
-
- ** The graphics property "box" for axes now defaults to "off".
-    To obtain equivalent plots to previous versions of Octave use
-      set (0, "DefaultAxesBox", "on");
-    in your .octaverc file.
-
- ** The graphics property "boxstyle" has been implemented.  The default
-    is "back" which draws only the back planes in a 3-D view.  If the
-    option is "full" then all planes are drawn.
-
- ** The graphics property "erasemode" has been hidden, and will
-    eventually be removed.  This property has also been removed
-    from Matlab, and was never implemented in Octave.
-
- ** The graphics property "graphicssmoothing" for figures now controls
-    whether anti-aliasing will be used for lines.  The default is "on".
-
- ** The value "zero" for the axes properties "xaxislocation" and
-    "yaxislocation" has been deprecated and will be removed from
-    Octave 4.6.  Use "origin" instead.
-
- ** The publish function allows easy publication of Octave script files
-    in HTML or other formats, including figures and output created by
-    this script.  It comes with its counterpart grabcode, which lets one
-    literally grab the HTML published code from a remote website, for
-    example.
-
- ** The value of the MEX variable TrapFlag now defaults to 0, which will
-    cause Octave to abort execution of a MEX file and return to the
-    prompt if an error is encountered in mexCallMATLAB.
-
- ** The MEX API now includes the function mexCallMATLABWithTrap.  This
-    function will not abort if an error occurs during mexCallMATLAB, but
-    instead will return execution to the MEX function for error
-    handling.
-
- ** The MEX API functions for input validation that begin with "mxIs"
-    (e.g., mxIsDouble, mxIsEmpty, etc.) now return type bool rather than
-    type int.
-
- ** The functions mxAssert and mxAssertS for checking assertions have
-    been added.  In order to avoid a performance penalty they are only
-    compiled in to debug versions of a MEX file, i.e., that are produced
-    when the '-g' option is given to mex or mkoctfile.
-
- ** Other new MEX API functions include mexEvalStringWithTrap,
-    mxIsScalar, mxCreateUninitNumericArray, mxCreateUninitNumericMatrix.
-
- ** Other new functions added in 4.2:
-
-      audioformats
-      camlight
-      condeig
-      deg2rad
-      dialog
-      evalc
-      hash
-      im2double
-      isocaps
-      lighting
-      localfunctions
-      material
-      normest1
-      ode23
-      ode45
-      odeget
-      odeplot
-      odeset
-      padecoef
-      profexport
-      psi
-      rad2deg
-      reducepatch
-      reducevolume
-      smooth3
-      uibuttongroup
-
- ** Deprecated functions.
-
-    The following functions have been deprecated in Octave 4.2 and will
-    be removed from Octave 4.6 (or whatever version is the second major
-    release after 4.2):
-
-      Function             | Replacement
-      ---------------------|------------------
-      bitmax               | flintmax
-      mahalanobis          | mahal in Octave-Forge statistics pkg
-      md5sum               | hash
-      octve_config_info    | __octave_config_info__
-      onenormest           | normest1
-      sleep                | pause
-      usleep               | pause
-      wavread              | audioread
-      wavwrite             | audiowrite
-
- ** The following functions were deprecated in Octave 3.8 and have been
-    removed from Octave 4.2.
-
-      default_save_options    java_new
-      gen_doc_cache           java_unsigned_conversion
-      interp1q                javafields
-      isequalwithequalnans    javamethods
-      java_convert_matrix     re_read_readline_init_file
-      java_debug              read_readline_init_file
-      java_invoke             saving_history
-
- ** The global error_state variable in Octave's C++ API has been
-    deprecated and will be removed in a future version.  Now the error
-    and print_usage functions throw an exception
-    (octave::execution_exception) after displaying the error message.
-    This makes the error and print_usage functions in C++ work more like
-    the corresponding functions in the scripting language.
-
- ** The default error handlers in liboctave have been updated to use
-    exceptions.  After displaying an error message they no longer return
-    control to the calling program.  The error handler function can be
-    customized through the global variables
-    "current_liboctave_error_handler" and
-    "current_liboctave_error_with_id_handler".  If a programmer has
-    installed their own custom error handling routines when directly
-    linking with liboctave then these must be updated to throw an
-    exception and not return to the calling program.
-
- ** The system for common errors and warnings has been renamed from
-    gripe_XXX to either err_XXX if error is called or warn_XXX if
-    warning is called.  The gripe_XXX functions are deprecated and will
-    be removed in version 4.6.
-
- ** New configure option, --enable-address-sanitizer-flags, to build
-    Octave with memory allocator checks (similar to those in valgrind)
-    built in.
-</pre>
--- a/NEWS-4.4.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,385 +0,0 @@
----
-layout: default
----
-
-<pre>
-Summary of important user-visible changes for version 4.4 (2018-04-30):
-----------------------------------------------------------------------
-
- ** A graphical Variable Editor has been added to the GUI interface.
-    It uses a spreadsheet-like interface for quick, intuitive editing
-    of variables.  The Variable Editor is launched by double-clicking
-    on a variable name in the Workspace Window or by typing
-    "openvar VARIABLE_NAME" in the Command Window.
-
- ** On systems with 64-bit pointers, --enable-64 is now the default and
-    Octave always uses 64-bit indexing.  However, if the configure
-    script determines that the BLAS library uses 32-bit integers, then
-    operations using the following libraries are limited to arrays with
-    dimensions that are smaller than 2^31 elements:
-
-      BLAS  LAPACK  QRUPDATE  SuiteSparse  ARPACK
-
-    Additionally, the following libraries use "int" internally, so
-    maximum problem sizes are always limited:
-
-      glpk  Qhull
-
- ** The octave command no longer starts the GUI by default.  Most users
-    starting Octave from a shell were expecting the command line
-    interface, and desktop launchers already required the `--force-gui'
-    option.  With this change, desktop launchers should be modified to
-    use the new option `--gui'.  The previous `--force-gui' option will
-    continue to work, and maps to `--gui', but it will be removed in
-    Octave 6.
-
- ** A known bug in Qt (https://bugreports.qt.io/browse/QTBUG-55357) is
-    addressed by limiting GUI sub-panel relocation capabilities for Qt
-    versions in the range >= 5.6.1 and < 5.7.1.  However, this may not
-    thoroughly avoid issues on all platforms.
-
- ** A new container data type--containers.Map--is available.  Map is a
-    key/value storage container (a.k.a, a hash) that efficiently allows
-    storing and retrieving values by name, rather than by position which
-    is how arrays work.
-
- ** The bareword "import" is now recognized in scripts and functions.
-    However, the functionality to import functions and classes from
-    other namespaces into the local scope has not yet been implemented.
-    Attempting to use "import" will provoke an error message.
-
- ** hex2num and num2hex now work for integer and char types and num2hex
-    may optionally return a cell array of strings instead of a character
-    array.  If given a cell array of strings, hex2num now returns a
-    numeric array of the same size as the input cell array.  Previously,
-    hex2num would accept a cell array of strings of arbitrary dimension
-    but would always return a column vector.
-
- ** New special functions cosint, sinint, and gammaincinv have been added.
-
- ** Special functions in Octave have been rewritten for larger input
-    domains, better accuracy, and additional options.
-    * gammainc now accepts negative real values for X.
-    * improved accuracy for gammainc, betainc, betaincinv, expint.
-    * gammainc has new options "scaledlower" and "scaledupper".
-    * betainc, betaincinv have new option "upper".
-
- ** The "names" option used in regular expressions now returns a struct
-    array, rather than a struct with a cell array for each field.  This
-    change was made for Matlab compatibility.
-
- ** The quadcc function now uses both absolute tolerance and relative
-    tolerance to determine the stopping criteria for an integration.
-    To be compatible with other quadXXX functions, such as quadgk, the
-    calling syntax has changed to
-
-      quadcc (f, a, b, [AbsTol, [RelTol]])
-
-    To update existing code, change instances of RelTol to [0, RelTol].
-
-      quadcc (f, a, b, tol) => quadcc (f, a, b, [0, tol])
-
-    A warning that a single tolerance input is now interpreted as an
-    absolute tolerance will be issued in Octave versions 4.4 and 5,
-    after which it will be removed.  The warning has ID
-    "Octave:quadcc:RelTol-conversion" and can be disabled with
-
-      warning ("off", "Octave:quadcc:RelTol-conversion")
-
- ** The qr function now returns a standard factorization unless
-    explicitly instructed to perform an economy factorization by using a
-    final argument of 0.
-
- ** The Qt graphics toolkit now supports offscreen printing without osmesa
-    if Octave was built with Qt >= 5.1.
-
- ** The built-in pager for display of large data is now disabled by
-    default.  To re-enable it for every Octave session add the following
-    to your .octaverc file:
-
-      more on;
-
- ** The FLTK toolkit is no longer prioritized for development.  The
-    number of Octave Maintainers is too small to support three different
-    graphic toolkits.  New development will target the Qt toolkit.
-    While no longer prioritized, the FLTK toolkit is not deprecated and
-    there is no schedule for its removal.
-
- ** The graphic object property "PickableParts" has been implemented
-    which controls whether an object can accept mouse clicks.
-
- ** The graphic object property "Interruptible" has been fully
-    implemented which controls whether a running callback function can
-    be interrupted by another callback function.
-
- ** The graphic object property "HitTest" has been updated to be fully
-    compatible with Matlab.
-
- ** Text objects now implement the properties "BackgroundColor",
-    "EdgeColor", "LineStyle", "LineWidth", and "Margin".
-
- ** An initial implementation of alpha transparency has been made for
-    patch and surface objects.  Printing to svg and pdf is supported.
-
- ** ishandle now returns true for both graphics handle objects and
-    Java objects.  The latter change was made for Matlab compatibility.
-    Use ishghandle or isgraphics if it is important not to include Java
-    objects.
-
- ** The pkg command now accepts a URL as an argument, allowing a valid
-    Octave package to be installed from any remote host with one command,
-    for example
-
-      pkg install https://example.org/download/example-package.tar.gz
-
- ** The following statistical functions have been moved from core
-    Octave to the statistics package available from Octave Forge.
-
-    BASE
-      cloglog
-      logit
-      prctile
-      probit
-      qqplot
-      table  (renamed to crosstab)
-
-    DISTRIBUTIONS
-      betacdf
-      betainv
-      betapdf
-      betarnd
-      binocdf
-      binoinv
-      binopdf
-      binornd
-      cauchy_cdf
-      cauchy_inv
-      cauchy_pdf
-      cauchy_rnd
-      chi2cdf
-      chi2inv
-      chi2pdf
-      chi2rnd
-      expcdf
-      expinv
-      exppdf
-      exprnd
-      fcdf
-      finv
-      fpdf
-      frnd
-      gamcdf
-      gaminv
-      gampdf
-      gamrnd
-      geocdf
-      geoinv
-      geopdf
-      geornd
-      hygecdf
-      hygeinv
-      hygepdf
-      hygernd
-      kolmogorov_smirnov_cdf
-      laplace_cdf
-      laplace_inv
-      laplace_pdf
-      laplace_rnd
-      logistic_cdf
-      logistic_inv
-      logistic_pdf
-      logistic_rnd
-      logncdf
-      logninv
-      lognpdf
-      lognrnd
-      nbincdf
-      nbininv
-      nbinpdf
-      nbinrnd
-      normcdf
-      norminv
-      normpdf
-      normrnd
-      poisscdf
-      poissinv
-      poisspdf
-      poissrnd
-      stdnormal_cdf
-      stdnormal_inv
-      stdnormal_pdf
-      stdnormal_rnd
-      tcdf
-      tinv
-      tpdf
-      trnd
-      unidcdf
-      unidinv
-      unidpdf
-      unidrnd
-      unifcdf
-      unifinv
-      unifpdf
-      unifrnd
-      wblcdf
-      wblinv
-      wblpdf
-      wblrnd
-      wienrnd
-
-    MODELS
-      logistic_regression
-
-    TESTS
-      anova
-      bartlett_test
-      chisquare_test_homogeneity
-      chisquare_test_independence
-      cor_test
-      f_test_regression
-      hotelling_test
-      hotelling_test_2
-      kolmogorov_smirnov_test
-      kolmogorov_smirnov_test_2
-      kruskal_wallis_test
-      manova
-      mcnemar_test
-      prop_test_2
-      run_test
-      sign_test
-      t_test
-      t_test_2
-      t_test_regression
-      u_test
-      var_test
-      welch_test
-      wilcoxon_test
-      z_test
-      z_test_2
-
- ** The following image functions have been moved from core Octave to
-    the image package available from Octave Forge.
-
-      ntsc2rgb
-      rgb2ntsc
-
- ** Other new functions added in 4.4:
-
-      bounds
-      camlookat
-      camorbit
-      campos
-      camroll
-      camtarget
-      camup
-      camva
-      camzoom
-      corrcoef
-      cosint
-      decic
-      erase
-      gammaincinv
-      getframe
-      groot
-      gsvd
-      hgtransform
-      humps
-      integral
-      integral2
-      integral3
-      isgraphics
-      isstring
-      mad
-      ode15i
-      ode15s
-      openvar
-      quad2d
-      repelem
-      rgb2gray
-      rticks
-      sinint
-      tfqmr
-      thetaticks
-      vecnorm
-      winqueryreg
-      xticklabels
-      xticks
-      yticklabels
-      yticks
-      zticklabels
-      zticks
-
- ** Deprecated functions.
-
-    The following functions have been deprecated in Octave 4.4 and will
-    be removed from Octave 6 (or whatever version is the second major
-    release after 4.4):
-
-      Function             | Replacement
-      ---------------------|------------------
-      chop                 | sprintf for visual results
-      desktop              | isguirunning
-      tmpnam               | tempname
-      toascii              | double
-      java2mat             | __java2mat__
-
-
- ** The following functions were deprecated in Octave 4.0 and have been
-    removed from Octave 4.4.
-
-      allow_noninteger_range_as_index
-      bicubic
-      delaunay3
-      do_braindead_shortcircuit_evaluation
-      dump_prefs
-      find_dir_in_path
-      finite
-      fmod
-      fnmatch
-      gmap40
-      loadaudio
-      luinc
-      mouse_wheel_zoom
-      nfields
-      octave_tmp_file_name
-      playaudio
-      saveaudio
-      setaudio
-      syl
-      usage
-
- ** The "Octave:undefined-return-values" warning ID is obsolete.  Octave
-    now throws an error for any attempts to assign undefined values that
-    might be returned from functions.
-
- ** Deprecated graphics properties.
-
-    The following properties or allowed corresponding values have been
-    deprecated in Octave 4.4 and will be removed from Octave 6 (or whatever
-    version is the second major release after 4.4):
-
-      Object               | Property                | Value
-      ---------------------|-------------------------|-------------------
-      figure               | doublebuffer            |
-                           | mincolormap             |
-                           | wvisual                 |
-                           | wvisualmode             |
-                           | xdisplay                |
-                           | xvisual                 |
-                           | xvisualmode             |
-      axes                 | drawmode                |
-      annotation           | edgecolor ("rectangle") |
-      text                 | fontweight              | "demi" and "light"
-      uicontrol            | fontweight              | "demi" and "light"
-      uipanel              | fontweight              | "demi" and "light"
-      uibuttongroup        | fontweight              | "demi" and "light"
-
- ** The rectangle and ellipse annotation property "edgecolor" has been
-    deprecated and will be removed from Octave 6 (or whatever version
-    is the second major release after 4.4).  Use the property "color"
-    instead.
-
- ** The header file oct-alloc.h has been removed along with the macros
-    that it defined (DECLARE_OCTAVE_ALLOCATOR, DEFINE_OCTAVE_ALLOCATOR,
-    and DEFINE_OCTAVE_ALLOCATOR2).
-</pre>
--- a/NEWS-5.1.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,332 +0,0 @@
----
-layout: page
-title: Summary of important user-visible changes for version 5
-menu: false
----
-
-February 23, 2019
-
-{::options parse_block_html="true" /}
-<div class="panel callout">
-* TOC
-{:toc}
-</div>
-{::options parse_block_html="false" /}
-
-### General improvements
-
-- The Octave plotting system now supports high resolution screens,
-  i.e., those with greater than 96 DPI which are referred to as
-  HiDPI/Retina monitors.
-
-- Unicode character support for files and folders in Windows.
-
-- A new core function `movfun` will apply a function to a sliding
-  window of arbitrary size on a dataset and accumulate the results.
-  Many common cases have been implemented using the naming
-  scheme `movXXX` where `XXX` is the function that will be applied.
-  For example, the moving average over a dataset is `movmean`.
-  New moving window functions:
-
-  `movfun`  `movslice`
-  `movmad`  `movmax`   `movmean`  `movmedian`  `movmin`  `movprod`
-  `movstd`  `movsum`   `movvar`
-
-- The `fsolve` function has been tweaked to use larger step sizes when
-  calculating the Jacobian of a function with finite differences.
-  This leads to faster convergence.
-
-- The `ranks` function has been recoded for performance and is now 25X
-  faster.  In addition, it now supports a third argument that specifies
-  how to resolve the ranking of tie values.
-
-- The function `randi` has been recoded to produce an unbiased (all
-  results are equally likely) sample of integers.  This may produce
-  different results in existing code.  If it is necessary to reproduce
-  the exact random integer sequence as in previous versions use
-
-  `ri = imin + floor ((imax - imin + 1) * rand ());`
-
-- The function `isdefinite` now returns `true` or `false` rather than
-  `-1`, `0`, or `1`.  To test for a positive semi-definite matrix (old
-  output of `0`) check whether the following two conditions hold:
-
-    `isdefinite (A) => 0`  and  `isdefinite (A + 5*TOL, TOL) => 1`
-
-- The `intmax`, `intmin`, and `flintmax` functions now accept a variable
-  as input.  Existing code to query the range of an existing variable can
-  be simplified by removing the call to `class` that was previously
-  required.  For example defining the variable `x = int8 (3)` in the
-  workspace, calls like
-
-    `range = [ intmin(class(x)), intmax(class(x)) ]`
-
-  can in Octave 5 be simplified to `range = [ intmin(x), intmax(x) ]`.
-
-- The path handling functions no longer perform variable or brace
-  expansion on path elements and Octave's load-path is no longer
-  subject to these expansions.
-
-- A new printing device is available, `"-ddumb"`, which produces ASCII
-  art for plots.  This device is only available with the gnuplot toolkit.
-
-
-### Dependencies
-
-- The GUI requires Qt libraries.  The minimum Qt4 version supported is
-  Qt4.8.  Qt5 of any version is preferred.
-
-- The OSMesa library is no longer used.  To print invisible figures
-  when using OpenGL graphics, the Qt `QOFFSCREENSURFACE` feature must be
-  available and you must use the qt graphics toolkit.
-
-- The FFTW library is now required to perform FFT calculations.
-  The FFTPACK sources have been removed from Octave.
-
-
-### Matlab compatibility
-
-- The determination of an object's dimensions, size, and shape by the
-  functions `ndims`, `rows`, `columns`, `isscalar`, `isvector`,
-  `isrow`, `iscolumn`, `ismatrix`, and `issquare` now fully depends
-  on the function size.  Thus, any user-defined object can ensure correct
-  treatment by the aforementioned functions by properly overloading the
-  `size` function.
-
-- The functions `issymmetric` and `ishermitian` accept an option
-  `"nonskew"` or `"skew"` to calculate the symmetric or skew-symmetric
-  property of a matrix.  Performance has also been increased.
-
-- The `issorted` function now uses a direction option of `"ascend"`
-  or `"descend"`.  Change all uses of `"ascending"` and `"descending"`
-  in existing code to the new options.
-
-- The `strncmp` and `strncmpi` functions now return `true` if the two
-  input strings match, even though the number of characters specified
-  by `n` exceeds the string length.  For Example:
-
-    `strncmp ("abc", "abc", 100)`
-
-  returns `true` in Octave 5 and `false` in older versions of Octave.
-
-- The `str2func` function no longer accepts a second `"global"` argument.
-  This argument was typically used to allow functions that accept
-  function names as arguments to avoid conflicts with subfunctions or
-  nested functions.  Instead, it's best to avoid this situation
-  entirely and require users to pass function handles rather than
-  function names.
-
-- Using `clear` with no arguments now removes only local variables
-  from the current workspace.  Global variables will no longer be
-  visible, but they continue to exist in the global workspace and
-  possibly other workspaces such as the base workspace.
-
-
-#### Nonlinear Equations
-
-Several default solver options have been changed to be Matlab compatible.
-This *may* result in existing code producing different results.
-
-- `fsolve`
-
-  Option         |   New Default    | Old Default
-  ---------------|------------------|-------------
-  `FinDiffType`  |    `"forward"`   |  `"central"`
-  `MaxFunEvals`  | `100*length(x0)` |    `Inf`
-  `TolFun`       |     `1e-6`       |    `1e-7`
-  `TolX`         |     `1e-6`       |    `1e-7`
-  `Updating`     |     `"off"`      |    `"on"`
-
-- `fminsearch`
-
-  Option   | New Default | Old Default
-  ---------|-------------|------------
-  `TolFun` |   `1e-7`    |   `1e-4`
-
-- `fminbnd`
-
-  Option         | New Default | Old Default
-  ---------------|-------------|------------
-  `MaxFunEvals`  |     `500`   |   `Inf`
-  `MaxIter`      |     `500`   |   `Inf`
-  `TolX`         |    `1e-4`   |   `1e-8`
-
-- `fminunc`
-
-  Option         |   New Default    | Old Default
-  ---------------|------------------|------------
-  `FinDiffType`  |   `"forward"`    | `"central"`
-  `MaxFunEvals`  | `100*length(x0)` |   `Inf`
-  `TolX`         |     `1e-6`       |   `1e-7`
-  `TolFun`       |     `1e-6`       |   `1e-7`
-
-
-#### Graphic objects
-
-- Figure graphic objects have a new property `"Number"` which is
-  read-only and will return the handle (number) of the figure.
-  However, if the property `"IntegerHandle"` has been set to `"off"`
-  then the property will return an empty matrix `[]`.
-
-- Patch and surface graphic objects now use the `"FaceNormals"` property
-  for flat lighting.
-
-- `"FaceNormals"` and `"VertexNormals"` for patch and surface graphic
-  objects are now calculated only when necessary to improve graphics
-  performance.  In order for any normals to be calculated the
-  `"FaceLighting"` property must be set to `"flat"` (FaceNormals) or
-  `"gouraud"` (VertexNormals), **and** a light object must be present
-  in the axes.
-
-- The `"Margin"` property of `text`-objects has a new default of `3`
-  rather than `2`.
-
-- Printing to raster formats (bitmaps like PNG or JPEG) now uses an
-  OpenGL-based method by default.  The print options `"-opengl"`
-  (raster) and `"-painters"` (vector) have been added ("qt" toolkit
-  only).  The figure property `"renderer"` specifies which renderer to
-  use.  When the property `"renderermode"` is `"auto"` Octave will select
-  `"-opengl"` for a raster output format and `"-painters"` for a vector
-  output format.
-
-- A new print option `"-RGBImage"` has been added which captures the
-  pixels of a figure as an image.  This is similar to screen capture
-  tools, except that print formatting options can be used to, for
-  example, change the resolution or display the image in black and
-  white.
-
-- Two new print options for page-based formats (PDF, PostScript) have
-  been added.  The `"-fillpage"` option will stretch the plot to occupy
-  the entire page with 0.25 inch margins all around.  The `"-bestfit"`
-  option will expand the plot to take up as much room as possible on
-  the page without distorting the original aspect ratio of the plot.
-
-- Printing using the `"-dtiff"` output device will now create compressed
-  images using LZW compression.  To produce uncompressed images use the
-  `"-dtiffn"` device.
-
-
-### Legacy functions
-
-The following functions have been declared legacy functions which
-means they are obsolete and should not be used in any new code.
-Unlike deprecated functions, however, their removal from Octave has
-not yet been scheduled.
-
-  Function               | Replacement
-  -----------------------|------------------
-  `findstr`              | `strfind`
-  `flipdim`              | `flip`
-  `isdir`                | `isfolder` or `dir_in_loadpath`
-  `isequalwithequalnans` | `isequaln`
-  `isstr`                | `ischar`
-  `setstr`               | `char`
-  `strmatch`             | `strncmp` or `strcmp`
-  `strread`              | `textscan`
-  `textread`             | `textscan`
-
-
-### Deprecated functions and properties
-
-The following functions and graphics properties have been deprecated
-in Octave 5 and will be removed from Octave 7 (or whatever version
-is the second major release after 5):
-
-- Functions
-
-  Function                 | Replacement
-  -------------------------|-------------------
-  `output_max_field_width` | `output_precision`
-  `is_keyword`             | `iskeyword`
-
-- Graphics properties
-
-  Object           | Property      | Value
-  -----------------|---------------|------------
-  `text`           | `fontangle`   | `"oblique"`
-  `uibuttongroup`  | `fontangle`   | `"oblique"`
-  `uicontrol`      | `fontangle`   | `"oblique"`
-  `uipanel`        | `fontangle`   | `"oblique"`
-  `uitable`        | `fontangle`   | `"oblique"`
-
-- Specifying `legend` position with a numeric argument is deprecated.
-  Use a string argument instead.
-
-- The environment variable used by `mkoctfile` for linker flags is now
-  `LDFLAGS` rather than `LFLAGS`.  `LFLAGS` is deprecated, and a warning
-  is emitted if is used, but it will continue to work.
-
-
-### Removed functions and properties
-
-The following functions and properties were deprecated in Octave 4.2
-and have been removed from Octave 5.
-
-- Functions
-
-  Function               | Replacement
-  -----------------------|------------------
-  `bitmax`               | `flintmax`
-  `mahalanobis`          | `mahal` in Octave Forge statistics pkg
-  `md5sum`               | `hash`
-  `octave_config_info`   | `__octave_config_info__`
-  `onenormest`           | `normest1`
-  `sleep`                | `pause`
-  `usleep`               | `pause`
-  `wavread`              | `audioread`
-  `wavwrite`             | `audiowrite`
-
-- Properties
-
-  Object      | Property          | Value
-  ------------|-------------------|---------
-  `axes`      | `xaxislocation`   | `"zero"`
-              | `yaxislocation`   | `"zero"`
-  `hggroup`   | `erasemode`       |
-  `image`     | `erasemode`       |
-  `line`      | `erasemode`       |
-  `patch`     | `erasemode`       |
-  `patch`     | `normalmode`      |
-  `surface`   | `erasemode`       |
-  `surface`   | `normalmode`      |
-  `text`      | `erasemode`       |
-
-
-### Alphabetical list of new functions added in 5
-
-- `clearvars`
-- `isfile`
-- `isfolder`
-- `matlab.lang.makeUniqueStrings`
-- `matlab.lang.makeValidName`
-- `movegui`
-- `movfun`
-- `movie`
-- `movmad`
-- `movmax`
-- `movmean`
-- `movmedian`
-- `movmin`
-- `movprod`
-- `movslice`
-- `movstd`
-- `movsum`
-- `movvar`
-- `openfig`
-- `ordeig`
-- `savefig`
-- `uitable`
-
-
-### Old release news
-
-- [Octave 4.4.x](NEWS-4.4.html)
-- [Octave 4.2.x](NEWS-4.2.html)
-- [Octave 4.0.x](NEWS-4.0.html)
-- [Octave 3.8.x](NEWS-3.8.html)
-- [Octave 3.6.x](NEWS-3.6.html)
-- [Octave 3.4.x](NEWS-3.4.html)
-- [Octave 3.2.x](NEWS-3.2.html)
-- [Octave 3.0.x](NEWS-3.html)
-- [Octave 2.x](NEWS-2.html)
-- [Octave 1.x](NEWS-1.html)
--- a/_config.yml	Mon Jul 20 16:14:52 2020 +0900
+++ b/_config.yml	Thu Sep 10 17:47:36 2020 +0900
@@ -1,41 +1,27 @@
-# Welcome to Jekyll!
-#
-# This config file is meant for settings that affect your whole blog, values
-# which you are expected to set up once and rarely edit after that. If you find
-# yourself editing this file very often, consider using Jekyll's data files
-# feature for the data you need to update frequently.
-#
-# For technical reasons, this file is *NOT* reloaded automatically when you use
-# 'bundle exec jekyll serve'. If you change this file, please restart the server
-# process.
-
-
-# Site settings
-# These are used to personalize your new site. If you look in the HTML files,
-# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
-# You can create any custom variable you would like, and they will be accessible
-# in the templates via {{ site.myvariable }}.
 title: GNU Octave
-email: maintainers@octave.org
-description: > # this means to ignore newlines until "baseurl:"
+email: octave-maintainers@gnu.org
+description: >- # this means to ignore newlines until "baseurl:"
   GNU Octave is a programming language for scientific computing.
-baseurl: "/software/octave" # the subpath of your site, e.g. /blog
-url: "https://www.gnu.org" # the base hostname & protocol for your site
+#baseurl: "/software/octave"  # only needed for publication at gnu.org
+url: "https://www.gnu.org"    # the base hostname & protocol for your site
 discourse_url: "https://octave.discourse.group/"
 wiki_url: "https://wiki.octave.org"
 faq_url: "https://wiki.octave.org/faq"
 docs_url: "https://www.gnu.org/software/octave/doc/latest"
 bugs_url: "https://savannah.gnu.org/bugs/?group=octave"
 sourceforge_url: "https://octave.sourceforge.io"
-maintainers_email: "maintainers@octave.org"
-help_email: "help@octave.org"
+maintainers_email: "octave-maintainers@gnu.org"
+help_email: "help-octave@gnu.org"
 irc_channel: "#octave"
 irc_network: "irc.freenode.net"
 timezone: "UTC0"
 
 # Build settings
 markdown: kramdown
-highlighter: pygments
+highlighter: rouge
+kramdown:
+  input: GFM
+  syntax_highlighter: rouge
 
 exclude:
   - Makefile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/_includes/code1.html	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,5 @@
+<figure class="highlight"><pre><code class="language-octave" data-lang="octave"><span></span><span class="n">b</span> <span class="p">=</span> <span class="p">[</span><span class="mi">4</span><span class="p">;</span> <span class="mi">9</span><span class="p">;</span> <span class="mi">2</span><span class="p">]</span> <span class="c"># Column vector</span>
+<span class="n">A</span> <span class="p">=</span> <span class="p">[</span> <span class="mi">3</span> <span class="mi">4</span> <span class="mi">5</span><span class="p">;</span>
+      <span class="mi">1</span> <span class="mi">3</span> <span class="mi">1</span><span class="p">;</span>
+      <span class="mi">3</span> <span class="mi">5</span> <span class="mi">9</span> <span class="p">]</span>
+<span class="n">x</span> <span class="p">=</span> <span class="n">A</span> <span class="o">\</span> <span class="n">b</span>     <span class="c"># Solve the system Ax = b</span></code></pre></figure>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/_includes/code2.html	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,6 @@
+<figure class="highlight"><pre><code class="language-octave" data-lang="octave"><span></span><span class="n">x</span> <span class="p">=</span> <span class="o">-</span><span class="mi">10</span><span class="p">:</span><span class="mf">0.1</span><span class="p">:</span><span class="mi">10</span><span class="p">;</span> <span class="c"># Create an evenly-spaced vector from -10..10</span>
+<span class="n">y</span> <span class="p">=</span> <span class="nb">sin</span> <span class="p">(</span><span class="n">x</span><span class="p">);</span>    <span class="c"># y is also a vector</span>
+<span class="nb">plot</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">);</span>
+<span class="nb">title</span> <span class="p">(</span><span class="s">&quot;Simple 2-D Plot&quot;</span><span class="p">);</span>
+<span class="nb">xlabel</span> <span class="p">(</span><span class="s">&quot;x&quot;</span><span class="p">);</span>
+<span class="nb">ylabel</span> <span class="p">(</span><span class="s">&quot;sin (x)&quot;</span><span class="p">);</span></code></pre></figure>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/_includes/release_news_select.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,13 @@
+News for version&nbsp;
+[5.1]({{ 'NEWS-5.1.html' | relative_url }}) &nbsp;
+[4.4]({{ 'NEWS-4.4.html' | relative_url }}) &nbsp;
+[4.2]({{ 'NEWS-4.2.html' | relative_url }}) &nbsp;
+[4.0]({{ 'NEWS-4.0.html' | relative_url }}) &nbsp;
+[3.8]({{ 'NEWS-3.8.html' | relative_url }}) &nbsp;
+[3.6]({{ 'NEWS-3.6.html' | relative_url }}) &nbsp;
+[3.4]({{ 'NEWS-3.4.html' | relative_url }}) &nbsp;
+[3.2]({{ 'NEWS-3.2.html' | relative_url }}) &nbsp;
+[3.0]({{ 'NEWS-3.html  ' | relative_url }}) &nbsp;
+[2  ]({{ 'NEWS-2.html  ' | relative_url }}) &nbsp;
+[1  ]({{ 'NEWS-1.html  ' | relative_url }}) &nbsp;
+([Release History]({{ site.wiki_url }}/Release_History))
--- a/about.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
----
-layout: page
-title: About
-menu: true
----
-
-GNU Octave is a high-level language, primarily intended for numerical
-computations.
-It provides a convenient command line interface for solving linear and
-nonlinear problems numerically,
-and for performing other numerical experiments using a language that is mostly
-compatible with Matlab.
-It may also be used as a batch-oriented language.
-
-Octave has extensive tools for solving common numerical linear algebra problems,
-finding the roots of nonlinear equations,
-integrating ordinary functions,
-manipulating polynomials,
-and integrating ordinary differential and differential-algebraic equations.
-It is easily extensible and customizable via user-defined functions written in
-Octave's own language,
-or using dynamically loaded modules written in C++, C, Fortran,
-or other languages.
-
-GNU Octave is also freely redistributable software.
-You may redistribute it and/or modify it under the terms of the
-[GNU General Public License (GPL)][GPL] as published by the
-[Free Software Foundation](https://www.fsf.org/).
-
-Octave was written by [John W. Eaton](mailto:jwe@octave.org) and
-[many others](https://hg.savannah.gnu.org/hgweb/octave/file/tip/doc/interpreter/contributors.in).
-Because Octave is [free software](https://www.gnu.org/philosophy/free-sw.html) you are encouraged to help make Octave
-more useful by writing and contributing additional functions for it,
-and by reporting any problems you may have.
-
-
-## History
-
-Octave was originally conceived (in about 1988) to be companion software for an
-undergraduate-level textbook on chemical reactor design being written by James
-B. Rawlings of the University of Wisconsin-Madison and John G. Ekerdt of the
-University of Texas.
-We originally envisioned some very specialized tools for the solution of
-chemical reactor design problems.
-Later,
-after seeing the limitations of that approach,
-we opted to attempt to build a much more flexible tool.
-
-There were still some people who said that we should just be using Fortran
-instead,
-because it is the computer language of engineering,
-but every time we had tried that,
-the students spent far too much time trying to figure out why their Fortran
-code failed and not enough time learning about chemical engineering.
-We believed that with an interactive environment like Octave,
-most students would be able to pick up the basics quickly,
-and begin using it confidently in just a few hours.
-
-Full-time development began in the Spring of 1992.
-The first alpha release was January 4, 1993, and version 1.0 was released
-February 17, 1994.
-Since then, Octave has been through several major revisions,
-is included with [Debian GNU/Linux](https://www.debian.org/),
-[openSUSE](https://www.opensuse.org/),
-and many other GNU/Linux distributions.
-Octave was reviewed in the in the July, 1997 issue of the
-[Linux Journal](http://www.linuxjournal.com/article/1225).
-
-Clearly,
-Octave is now much more than just another courseware package with limited
-utility beyond the classroom.
-Although our initial goals were somewhat vague,
-we knew that we wanted to create something that would enable students to solve
-realistic problems,
-and that they could use for many things other than chemical reactor design
-problems.
-Today, thousands of people worldwide are using Octave in teaching,
-research, and commercial applications.
-
-Just about everyone thinks that the name Octave has something to do with music,
-but it is actually the name of one of the author's former professor
-[Octave Levenspiel](https://en.wikipedia.org/wiki/Octave_Levenspiel)
-who wrote a famous textbook on chemical reaction engineering,
-and who was also well known for his ability to do quick "back of the envelope"
-calculations.
-We hope that this software will make it possible for many people to do more
-ambitious computations just as easily.
-
-Everyone is encouraged to share this software with others under the terms of
-the [GNU General Public License (GPL)][GPL].
-You are also encouraged to help make Octave more useful by writing and
-contributing additional functions for it,
-and by reporting any problems you may have.
-
-[GPL]: https://www.gnu.org/copyleft/gpl.html
--- a/bugs.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
----
-layout: page
-title: Bugs
-menu: true
----
-
-GNU Octave uses the bug tracker at [Savannah]({{ site.bugs_url }}).
-There you can [report a new bug]({{ site.bugs_url }}&func=additem),
-[browse recent bugs]({{ site.bugs_url }}),
-or [search for bugs]({{ site.bugs_url }}&func=search).
-
-### Guidelines for reporting a new bug
-
-1. **Is the bug already known?**
-
-   - [Search for already reported bugs at the bug tracker]({{ site.bugs_url }}&func=search),
-   - look at the
-     [list of known causes of trouble]({{ site.docs_url }}/Trouble.html)
-     in the Octave manual.
-
-   <p></p>
-
-   If you your problem **does not appear** to be known,
-   then you should report the problem.
-
-2. **Is it really a bug?**
-
-   - If Octave **crashes**, for any input whatever, that is a bug.
-     Reliable interpreters never crash.
-   - If Octave produces **incorrect results**, for any input whatever,
-     that is a bug.
-   - If Octave produces an **error message** for **valid input**, that is a bug.
-   - If Octave produces **no error message** for **invalid input**,
-     that is a bug.
-
-   <p></p>
-
-3. **Missing function in Octave**
-
-   - If the function is
-     [part of some Octave Forge package]({{ site.sourceforge_url }}/functions_by_alpha.php),
-     this is **not** a bug.
-   - If the function **exists in Matlab**,
-     but **not in core Octave** and **not in Octave Forge packages**,
-     that is a bug.
-
-   <p></p>
-
-   It might take several months or years until for new features to become part
-   of Octave, consider
-   [commercial support]({{ "commercial-support.html" | relative_url }})
-   if you don't want to wait that long).
-
-4. **Make your bug report count**
-
-   - **Report all the facts:**<br>
-     Include all information that make it possible to fix the bug.
-     If you are not sure whether to state a fact or leave it out, state it.
-     This information includes your **operating system**, **Octave version**,
-     **exact error message** or **exact output**.
-   - **Give a short, specific, complete example:**<br>
-     Avoid: pseudocode, uninitialized variables,
-     calls to unattached scripts or functions.
-   - **Justify your exectations briefly:**<br>
-     Although it might seem obvious to you,
-     someone examining the problem might not know what result you consider
-     correct.
-
-
-### Sending Patches for Octave
-
-If you have a suggested fix for a bug,
-please attach it to your report in the tracker.
-Your patch is more likely to be reviewed if you follow the guidelines from the
-Octave Wiki about the [creation of changesets]({{ site.wiki_url }}/Mercurial).
--- a/commercial-support.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
----
-layout: page
-title: Commercial Support
-menu: false
----
-
-The following organizations and individuals provide paid consulting services
-for Octave.  If you have questions about them, please visit their web sites
-or contact them individually.  This list is provided as a service to the
-community and the support providers.  The Octave project does not provide
-endorsements or recommendations.
-
-If you would like to have your company listed here,
-please contact us at [Octave Discourse]({{ site.discourse_url }})
-in the "maintainers" category.
-
-- [**John W. Eaton Consulting, Inc.**][2] provides software consulting and
-  support services, primarily for GNU Octave, a free software system for
-  numerical analysis.  Services include help with installing and using the
-  software, as well as prompt responses to problem reports.
-
-  As the original author and current maintainer of GNU Octave, Dr. Eaton is
-  uniquely qualified to deliver the most comprehensive solutions for your
-  Octave needs.
-
-- [**MOXOFF**][3] provides custom programming and custom numerical modeling
-  solutions based on free software tools and in particular on GNU Octave.
-
-  MOXOFF applies mathematics and statistical analysis to complex, multiphysics
-  problems.  Our approach covers a broad spectrum of fields: we run applied
-  research and develop innovative mathematical solutions for engineering,
-  life science and social science problems.  Our skills can be applied to a
-  wide range of subjects: bio-technologies, aerospace design, domestic
-  appliances, conventional and renewable power generation, electronics,
-  financial instruments, analysis and simulation of geological processes,
-  biomedical equipment to cite just a few of our more recent projects.
-  We deliver business-class solutions based on GNU Octave and we also provide
-  evolutive maintenance.  We design GNU Octave based interfaces to free
-  software tools for scientific computing.
-
-- [**CoCalc**][4] is an online service that provides GNU Octave via Linux
-  Terminals, Jupyter Notebooks and X11 desktops, with full support for realtime
-  collaboration.  Moreover, CoCalc features a course management system that is
-  tailored for teaching courses online.
-
-  The company Sagemath, Inc. develops and operates CoCalc.  You can start
-  working with the [online service][5] for free and upgrade later for a better
-  experience.  You can also run your own CoCalc on-premises.
-
-[2]: https://jweaton.org
-[3]: https://www.moxoff.com/moxoff-partner-di-octave/
-[4]: https://cocalc.com/doc/octave.html
-[5]: https://cocalc.com
--- a/community-news.html	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
----
-layout: null
----
-
-<!--
-
-This is the community news page for Octave.  It is displayed in the
-"Community News" display area of the Octave GUI.  It should not have
-the usual page header that other pages on the Octave web site have.
-The following string must be present for Octave to recognize and
-display this page as the community news page.  Don't forget to increment
-the `community-news-page-serial` number by one in order to show new
-entries in the GUI:
-
-  this-is-the-gnu-octave-community-news-page
-  community-news-page-serial=13
-
--->
-
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>Octave Community News</title>
-</head>
-<body>
-
-{% for post in site.categories.release limit:3 %}
-
-<h2><a href="{{ post.url | absolute_url }}">{{ post.title }}</a></h2>
-
-{{ post.excerpt }}
-
-<small><em>&mdash; The Octave Developers, {{ post.date | date: "%b %-d, %Y" }}</em></small>
-
-{% endfor %}
-
-</body>
-</html>
--- a/donate.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
----
-layout: page
-title: Donate
-menu: true
----
-
-> **Octave development takes a lot of time and expertise.**
-> **Your contributions help to ensure that Octave will continue to improve.**
-
-- [FSF Donation Page](https://crm.fsf.org/civicrm/contribute/transact?reset=1&id=10)
-- [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UYHVW7R596RZ8)
-  to John W. Eaton Consulting, Inc. (Octave project leader)
-- [Bitcoin](bitcoin:1E6HchBMX1EfiJQhSUanuF4VYKk552tEHF)
-  (1E6HchBMX1EfiJQhSUanuF4VYKk552tEHF)
-- [Commercial support options]({{ "commercial-support.html" | relative_url }})
-  to implement the specific features
-
-If you are already an Octave user and would like to see it improve more rapidly,
-then please donate so that we can spend more of our time working on Octave.
-If we could raise as little as $300,000/year,
-we could pay several key developers to work full time on Octave.
-Given even the most conservative estimate of the number of users of Octave,
-this amount could easily be reached if every user contributed the cost of
-a few lattes.
-
-If your company has a budget for numerical computing tools,
-consider spending 10% (or more!) of that on Octave.
-Do you expect Octave to improve on a $0 budget
-while the proprietary tools are well-funded by your license fees?
--- a/download.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
----
-layout: page
-title: Download
-menu: true
----
-
-<div class="button-group large expanded stacked-for-small">
-  <a class="button" href="#source">Source</a>
-  <a class="button" href="#linux">GNU/Linux</a>
-  <a class="button" href="#macos">macOS</a>
-  <a class="button" href="#bsd">BSD</a>
-  <a class="button" href="#ms-windows">MS Windows</a>
-</div>
-
-
-<p id="source">&nbsp;</p>
-
-### Source {#source2}
-
-The latest released version of Octave is always available from
-
-- https://ftp.gnu.org/gnu/octave
-- ftp://ftp.gnu.org/gnu/octave
-
-Please download from
-[https://ftpmirror.gnu.org/octave](https://ftpmirror.gnu.org/octave),
-which will redirect automatically to a nearby
-[mirror site](https://www.gnu.org/order/ftp.html).
-
-
-<p id="linux">&nbsp;</p>
-
-### GNU/Linux {#linux2}
-
-Packaged versions of Octave for GNU/Linux systems are provided by the
-individual distributions described in the
-[Octave wiki]({{ site.wiki_url }}/Category:Installation).
-These packages are created by volunteers.
-The delay between an Octave source release and the availability of a package
-for a particular GNU/Linux distribution varies.
-
-Alternatively,
-there are some distribution independent installation methods for more recent
-versions of GNU Octave described in the
-[Octave wiki]({{ site.wiki_url }}/Octave_for_GNU/Linux#Distribution_independent).
-
-
-<p id="macos">&nbsp;</p>
-
-### macOS {#macos2}
-
-The [Octave Wiki]({{ site.wiki_url }}/Octave_for_macOS) has instructions for
-installing Octave on macOS systems.
-Octave is also available in third-party package managers such as
-[Homebrew](https://brew.sh/) and [MacPorts](https://www.macports.org).
-
-
-<p id="bsd">&nbsp;</p>
-
-### BSD {#bsd2}
-
-Executable versions of Octave for BSD systems are provided by the individual
-distributions.
-Both [FreeBSD](https://www.freebsd.org/) and [OpenBSD](https://www.openbsd.org/)
-have Octave packages.
-These packages are created by volunteers and the Octave project has no control
-over that process.
-
-
-<p id="ms-windows">&nbsp;</p>
-
-### Microsoft Windows {#ms-windows2}
-
-<div class="primary callout small" data-closable>
-<b>Note:</b> All installers below bundle several <b>Octave Forge packages</b>
-so they don't have to be installed separately.
-After installation type <code>pkg list</code> to list them.
-<a href="{{ site.wiki_url }}/Octave_for_Microsoft_Windows">Read more.</a>
-<a href="#ms-windows" class="close-button" aria-label="Dismiss alert" type="button" data-close>
-  <span aria-hidden="true">&times;</span>
-</a>
-</div>
-
-- Windows-64 (recommended)
-  - [octave-5.2.0_1-w64-installer.exe](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-installer.exe)
-    (~ 300 MB)
-    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-installer.exe.sig)
-  - [octave-5.2.0_1-w64.7z](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64.7z)
-    (~ 300 MB)
-    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64.7z.sig)
-  - [octave-5.2.0_1-w64.zip](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64.zip)
-    (~ 530 MB)
-    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64.zip.sig)
-
-<p></p>
-
-- Windows-32 (old computers)
-  - [octave-5.2.0_1-w32-installer.exe](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w32-installer.exe)
-    (~ 275 MB)
-    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w32-installer.exe.sig)
-  - [octave-5.2.0_1-w32.7z](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w32.7z)
-    (~ 258 MB)
-    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w32.7z.sig)
-  - [octave-5.2.0_1-w32.zip](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w32.zip)
-    (~ 447 MB)
-    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w32.zip.sig)
-
-<p></p>
-
-- Windows-64 (64-bit linear algebra for large data)
-  <br><small>
-  Unless your computer has more than ~32GB of memory
-  <strong>and</strong> you need to solve linear algebra problems
-  with arrays containing more than ~2 billion elements, this
-  version will offer no advantage over the recommended Windows-64
-  version above.
-  </small>
-
-  - [octave-5.2.0_1-w64-64-installer.exe](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-64-installer.exe)
-    (~ 286 MB)
-    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-64-installer.exe.sig)
-  - [octave-5.2.0_1-w64-64.7z](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-64.7z)
-    (~ 279 MB)
-    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-64.7z.sig)
-  - [octave-5.2.0_1-w64-64.zip](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-64.zip)
-    (~ 490 MB)
-    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-64.zip.sig)
-
-All Windows binaries with corresponding source code can be downloaded from
-[https://ftpmirror.gnu.org/octave/windows/](https://ftpmirror.gnu.org/octave/windows/).
--- a/get-involved.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
----
-layout: page
-title: Get Involved
-menu: true
----
-
-We always need more help improving Octave
-and there are many ways you can contribute.
-You can help by fixing bugs,
-developing new features,
-writing [Octave Forge packages]({{ site.sourceforge_url }}),
-answering questions in Discourse,
-helping to improve the web pages.
-If you are wondering what to work on,
-we have a standard answer:
-**What would you like to work on?**
-
-For some inspiration,
-we do maintain a [list of possible projects]({{ site.wiki_url }}/Projects)
-and a [Developer FAQ]({{ site.wiki_url }}/Developer_FAQ) on the Octave Wiki.
-
-If know what to contribute,
-discuss your ideas with us on [Discourse]({{ site.discourse_url }})
-("maintainers" category) or on our IRC
-[Freenode `{{ site.irc_channel }}` channel](https://webchat.freenode.net/#octave).
-
-
-### Using the Development Sources
-
-The latest development sources of GNU Octave are available via
-[Mercurial](https://www.mercurial-scm.org/) (hg).
-The primary repository address is
-[https://www.octave.org/hg/octave](https://www.octave.org/hg/octave),
-which currently redirects to
-[https://hg.savannah.gnu.org/hgweb/octave](https://hg.savannah.gnu.org/hgweb/octave).
-You obtain the latest development version of Octave sources with the following
-command:
-
-{% highlight text %}
-hg clone https://www.octave.org/hg/octave
-{% endhighlight %}
-
-The [Developer FAQ]({{ site.wiki_url }}/Developer_FAQ) on the Octave Wiki
-contains more detailed and recent information about Octave development.
--- a/index.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
----
-layout: default
----
-
-<div class="primary callout" data-closable>
-  <h5>
-    Need help? Try out our new user and developer forum
-    <a href="https://octave.discourse.group/">Octave Discourse</a>.
-  </h5>
-  <button class="close-button" aria-label="Dismiss alert" type="button" data-close>
-    <span aria-hidden="true">&times;</span>
-  </button>
-</div>
-
-<div class="grid-x grid-margin-x">
-  <div class="cell medium-6">
-    <a href="#"  data-open="meshModal">
-      <img src="{{ "/img/example-mesh.svg" | relative_url }}"
-            style="height: 400px; width: auto;" alt="Example mesh">
-    </a>
-  </div>
-  <div class="cell auto">
-    <h2 class="landing-page-logo">
-      <img src="{{ "/img/octave-logo.svg" | relative_url }}"
-            style="float: left; height: 48px; width: auto; padding-right: 0.5rem"
-            alt="GNU Octave logo">
-      GNU Octave
-    </h2>
-    <h4>Scientific Programming Language</h4>
-    <ul>
-      <li>Powerful mathematics-oriented syntax with built-in 2D/3D plotting and visualization tools</li>
-      <li>Free software, runs on GNU/Linux, macOS, BSD, and Microsoft Windows</li>
-      <li>Drop-in compatible with many Matlab scripts</li>
-    </ul>
-    <div class="button-group stacked">
-      <a href="{{ "download.html" | relative_url }}" class="button">Download</a>
-      <a href="{{ site.docs_url }}" class="button">Documentation</a>
-    </div>
-  </div>
-</div>
-
-### Syntax Examples
-
-The Octave syntax is largely compatible with Matlab.
-The Octave interpreter can be run in
-<a href="#" data-open="guiModal">GUI mode</a>, as a console,
-or invoked as part of a shell script.
-More Octave examples can be found in
-[the Octave wiki]({{ site.wiki_url }}/Using_Octave).
-
-<div class="grid-x grid-margin-x">
-  <div class="cell medium-4" >
-    <p>
-      Solve systems of equations with linear algebra operations on
-      <strong>vectors</strong> and <strong>matrices</strong>.
-    </p>
-  </div>
-  <div class="cell auto">
-{% highlight octave %}
-b = [4; 9; 2] # Column vector
-A = [ 3 4 5;
-      1 3 1;
-      3 5 9 ]
-x = A \ b     # Solve the system Ax = b
-{% endhighlight %}
-  </div>
-</div>
-
-<div class="grid-x grid-margin-x">
-  <div class="cell medium-4">
-    <p>
-      Visualize data with <strong>high-level plot commands</strong>
-      in 2D and 3D.
-    </p>
-  </div>
-  <div class="cell auto">
-{% highlight octave %}
-x = -10:0.1:10; # Create an evenly-spaced vector from -10..10
-y = sin (x);    # y is also a vector
-plot (x, y);
-title ("Simple 2-D Plot");
-xlabel ("x");
-ylabel ("sin (x)");
-{% endhighlight %}
-    <a href="#" class="button small-only-expanded" data-open="plotModal">Click here to see the plot output</a>
-  </div>
-</div>
-
-
-### Octave Forge
-
-[Octave Forge]({{ site.sourceforge_url }}) is a collection of high quality
-packages for GNU Octave, similar to Matlab's toolboxes.
-To install a package, use the `pkg` command from the Octave prompt by typing:
-
-{% highlight text %}
-pkg install -forge package_name
-pkg load package_name
-{% endhighlight %}
-
-<a href="{{ site.sourceforge_url }}/packages.php" class="button small-only-expanded">Browse Packages</a>
-
-
-### Development
-
-Octave is free software licensed under the
-[GNU General Public License (GPL)]({{ "license.html" | relative_url }}).
-Assuming you have Mercurial installed on your machine you may obtain the latest
-development version of Octave sources with the following command:
-
-{% highlight text %}
-hg clone https://www.octave.org/hg/octave
-{% endhighlight %}
-
-[Get involved]({{ "/get-involved.html" | relative_url }}) in Octave development.
-
-
-{% assign latest_post = site.posts.first %}
-{% if latest_post %}
-  <div class="primary callout">
-      <a class="float-right button tiny warning" href="{{ "/feed.xml" | relative_url }}">
-        RSS
-      </a>
-    <h3 class="entry-title">
-      <a href="{{ latest_post.url | relative_url }}">{{ latest_post.title }}</a>
-    </h3>
-    <p class="post-meta">{{ latest_post.date | date: "%b %-d, %Y" }}</p>
-    <div class="entry-content">{{ latest_post.excerpt }}</div>
-  </div>
-{% endif %}
-
-<div class="large reveal" id="meshModal" data-reveal>
-  <img src="{{ "/img/example-mesh.svg" | relative_url }}" alt="Example mesh">
-  <button class="close-button" data-close aria-label="Close modal" type="button">
-    <span aria-hidden="true">&times;</span>
-  </button>
-</div>
-
-<div class="large reveal" id="plotModal" data-reveal>
-  <img src="{{ "/img/example-plot.svg" | relative_url }}" alt="Example plot">
-  <button class="close-button" data-close aria-label="Close modal" type="button">
-    <span aria-hidden="true">&times;</span>
-  </button>
-</div>
-
-<div class="large reveal" id="guiModal" data-reveal>
-  <img src="{{ "/img/GNU_Octave_4-4-0_screenshot_1600x900.png" | relative_url }}" alt="GNU Octave GUI screenshot">
-  <button class="close-button" data-close aria-label="Close modal" type="button">
-    <span aria-hidden="true">&times;</span>
-  </button>
-</div>
--- a/license.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
----
-layout: page
-title: License
-menu: false
----
-
-The source code for Octave is freely redistributable under the
-terms of the [GNU General Public License (GPL)][1] as published by
-the [Free Software Foundation][2].
-
-Simply put, the GPL says that anyone who redistributes the
-software, with or without changes, must pass along the freedom to
-further copy and change it.  By distributing the complete source
-code for GNU Octave under the terms of the GPL, we guarantee that
-you and all other users will have the freedom to redistribute and
-change Octave.
-
-Releasing the source code for Octave has another benefit as well.
-By having access to all of the source code for a mathematical
-system like Octave, you have the ability to see *exactly*
-how each and every computation is performed.  There are no black
-boxes that hide the details of any calculation.
-
-Although enhancements to Octave that are written as function files
-in Octave's scripting language are not required to be
-redistributed under the terms of the GPL, we encourage you to
-release your enhancements to Octave under the same terms for the
-benefit of all users.  We also encourage you to
-[get involved with the Octave project][3] and submit your changes
-for inclusion in future versions of Octave.
-
-[1]: https://www.gnu.org/copyleft/gpl.html
-[2]: https://www.fsf.org/
-[3]: {{ "get-involved.html" | relative_url }}
--- a/missing.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
----
-layout: page
-title: Missing function
-menu: false
----
-
-If you are reading this page,
-it is most likely because you attempted to use a function
-that is part of Matlab,
-but has yet to be implemented in Octave.
-GNU Octave strives to be among the very best numerical tools available.
-While compatibility with Matlab is one of many strong features of Octave,
-we have not achieved 100% compatibility.
-
-This is what you can do now:
-
-- Check if the function is
-  [part of some Octave Forge package]({{ site.sourceforge_url }}/functions_by_alpha.php)
-- [Report a bug]({{ "bugs.html" | relative_url }})
-- [Implement the feature yourself]({{ "get-involved.html" | relative_url }})
-- [Get commercial support]({{ "commercial-support.html" | relative_url }})
--- a/news.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
----
-layout: page
-title: News
-menu: true
----
-
-{% for post in site.posts %}
-<div class="primary callout">
-  {% if post == site.posts.first %}
-  <a class="float-right button tiny warning" href="{{ "/feed.xml" | relative_url }}">
-    RSS
-  </a>
-  {% endif %}
-  {% if post.title == "News Archive" %}
-  <h3 class="entry-title">
-    <a href="{{ post.url | relative_url }}">{{ post.title }}</a>
-  </h3>
-  {% else %}
-  <h3 class="entry-title">
-    <a href="{{ post.url | relative_url }}">{{ post.title }}</a>
-  </h3>
-  <p class="post-meta">{{ post.date | date: "%b %-d, %Y" }}</p>
-  <div class="entry-content">
-    {{ post.excerpt }}
-  </div>
-  {% endif %}
-</div>
-{% endfor %}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/COPYRIGHT.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,517 @@
+---
+layout: page
+title: Copyright
+menu: false
+permalink: /copyright/
+---
+
+Octave is free software: you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Octave is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Octave; see the file COPYING.  If not, see
+<https://www.gnu.org/licenses/>.
+
+
+Copyright:
+
+- 1987-1988, 1991-1997, 2003-2018  Free Software Foundation
+- 1992-2020  John W. Eaton
+- 1993  Fook Fah Yap
+- 1993  Friedrich Leisch
+- 1993  Gerhard Kircher
+- 1993  John C. Campbell
+- 1993  Per Bothner
+- 1993  R. Bruce Tenison
+- 1993  Teresa Twaroch
+- 1993, 1995  Auburn University
+- 1993, 1995, 1998-2002, 2004, 2006-2007  A. Scottedward Hodel
+- 1993, 1996-1999, 2001-2002, 2005-2006  Kurt Hornik
+- 1993-1997  O. Weber
+- 1993-1998  Karl Berry
+- 1994  Castor Fu
+- 1994  Mark Odegard
+- 1994  Romolo Manfredini
+- 1994, 2009  Anthony Richardson
+- 1994-1995  David Clem
+- 1994-1997  Frederick (Rick) A Niles
+- 1995  Paul Eggert
+- 1995  Thomas Baier
+- 1995  Vinayak Dutt
+- 1995, 1997  Klaus Gebhardt
+- 1997  Ram'on Garc'ia Fern'andez
+- 1997  Rex A. Dieter
+- 1997, 1999-2000, 2008  Rolf Fabian
+- 1997-1999, 2001-2003  Mumit Khan
+- 1998  Eric Norum
+- 1998  Philippe Defert
+- 1998  Richard Allan Holcombe
+- 1998  Roman Hodek
+- 1998  Tomislav Goles
+- 1998, 2000  Georg Thimm
+- 1998, 2000  John Smith
+- 1998-2000, 2002-2006, 2012  Andy Adler
+- 1999  Daniel Calvelo
+- 1999  Eduardo Gallestey
+- 1999  Geoff Jacobsen
+- 1999  James B. Rawlings
+- 1999  James Macnicol
+- 1999  Massimo Lorenzin
+- 1999-2000  Joao Cardoso
+- 1999-2000  Stephen Eglen
+- 1999-2002  Ben Sapp
+- 2000  Joerg Specht
+- 2000  Marcus Brinkmann
+- 2000  Michael Reifenberger
+- 2000  Thomas Walter
+- 2000, 2002, 2012  Steven G. Johnson
+- 2000, 2002-2004  Teemu Ikonen
+- 2000, 2003  Cyril Humbert
+- 2000, 2003, 2005  Mats Jansson
+- 2000, 2003, 2007-2008  Gabriele Pannocchia
+- 2000, 2004, 2006  Etienne Grossmann
+- 2000, 2005  James R. Van Zandt
+- 2000-2001  Matthew W. Roberts
+- 2000-2002  Cai Jianming
+- 2000-2002, 2007-2011  Kai Habel
+- 2000-2007  Paul Kienzle
+- 2001  Albert Chin-A-Young
+- 2001  Christoph Spiel
+- 2001  David Livings
+- 2001  Heinz Bauschke
+- 2001  Ondrej Popp
+- 2001  Ross Lippert
+- 2001  Thomas Stuart
+- 2001, 2005-2009, 2012-2016  Rafael Laboissiere
+- 2001, 2007  Jean-Francois Cardoso
+- 2001-2003  Python Software Foundation
+- 2002  David Billinghurst
+- 2002  Dirk Laurie
+- 2002  JD Cole
+- 2002  Jeff Cunningham
+- 2002  Matt Tenny
+- 2002  Nicholas Piper
+- 2002  Nix
+- 2002  Peter Van Wieren
+- 2002, 2006-2009  Francesco Potortì
+- 2002, 2017  Andreas Stahel
+- 2002, 2017  Bill Lash
+- 2002-2003  Dirk Eddelbuettel
+- 2002-2003, 2007  Joseph P. Skudlarek
+- 2002-2004  Per Persson
+- 2003  Aaron A. King
+- 2003  Danilo Piazzalunga
+- 2003  David Castelow
+- 2003  Duncan Temple Lang
+- 2003  Eric S. Raymond
+- 2003  Heine Kolltveit
+- 2003  Lute Kamstra
+- 2003  Melqart
+- 2003  Richard Stallman
+- 2003  Roger Banks
+- 2003  Russell Standish
+- 2003  Stefan Monnier
+- 2003  Thorsten Ohl
+- 2003, 2005  Arno J. Klaassen
+- 2003, 2008, 2010-2011  Alois Schlögl
+- 2003, 2008-2010, 2012, 2014-2015, 2018-2019  Doug Stewart
+- 2003-2004  Al Niessner
+- 2003-2004  Petter Risholm
+- 2003-2007  Quentin H. Spencer
+- 2003-2013, 2015  David Bateman
+- 2004  Balint Reczey
+- 2004  Claude Lacoursiere
+- 2004  David Hoover
+- 2004  Federico Zenith
+- 2004  Fredrik Lingvall
+- 2004  Glenn Golden
+- 2004  Hans Ekkehard Plesser
+- 2004  Heikki Junes
+- 2004  Jakub Bogusz
+- 2004  Martin Dalecki
+- 2004  Oyvind Kristiansen
+- 2004  Volker Kuhlmann
+- 2004, 2007-2010  Shai Ayal
+- 2004, 2011, 2015, 2018  Orion Poplawski
+- 2004-2005  Stefan van der Walt
+- 2004-2006  Keith Goodman
+- 2004-2006, 2008, 2010-2012  Pascal A. Dupuis
+- 2005  Antoine Moreau
+- 2005  Benjamin Hall
+- 2005  Clinton Chee
+- 2005  Daniel
+- 2005  Driss Ghaddab
+- 2005  Erik de Castro Lopo
+- 2005  Ivana Varekova
+- 2005  Joel Andersson
+- 2005  Julius Smith
+- 2005  Kevin Ruland
+- 2005  Ludwig Schwardt
+- 2005  Miroslaw Kwasniak
+- 2005  Mohamed Kamoun
+- 2005  Nicolo' Giorgetti
+- 2005  Orestes Mas
+- 2005  Shan G. Smith
+- 2005  Todd Neal
+- 2005  Tom Holroyd
+- 2005  Toni Saarela
+- 2005  Walter Landry
+- 2005  cctsim
+- 2005, 2007  Michael Zeising
+- 2005, 2007-2009, 2012-2018  Daniel J. Sebald
+- 2005, 2010  Ben Barrowes
+- 2005-2006  Jorge Barros de Abreu
+- 2005-2006  William Poetra Yoga Hadisoeseno
+- 2005-2006, 2008, 2012  Dmitri A. Sergatskov
+- 2005-2008  Bill Denney
+- 2005-2010  Søren Hauberg
+- 2006  Atsushi Kajita
+- 2006  Christopher Hulbert
+- 2006  Don Bindner
+- 2006  Geoffrey Knauth
+- 2006  Henry Mollet
+- 2006  Jim Peterson
+- 2006  Kai Labusch
+- 2006  Ken Kouno
+- 2006  Larrie Carr
+- 2006  Martin Costabel
+- 2006  Stephen Fegan
+- 2006  Yozo Hida
+- 2006, 2011  Michael Creel
+- 2006-2007  Arno Onken
+- 2006-2007  Bob Weigel
+- 2006-2007  Luis F. Ortiz
+- 2006-2007, 2009  Olli Saarela
+- 2006-2008  Juhani Saastamoinen
+- 2006-2008, 2010  Kim Hansen
+- 2006-2009  Alexander Barth
+- 2006-2009  Thomas Treichl
+- 2006-2009, 2011  Benjamin Lindner
+- 2006-2011  Thomas Weber
+- 2006-2015  Michael Goffioul
+- 2007  Alex Zvoleff
+- 2007  Alexander Klimov
+- 2007  Aquil H. Abdullah
+- 2007  Baylis Shanks
+- 2007  Christian Cornelssen
+- 2007  Christof Zeile
+- 2007  Christoph Mayer
+- 2007  Claudio Belotti
+- 2007  D. Martin
+- 2007  Donald Parsons
+- 2007  Geordie McBain
+- 2007  Jim Langston
+- 2007  Kristan Onu
+- 2007  Laurent Mazet
+- 2007  Luther Tychonievich
+- 2007  Marcus W. Reble
+- 2007  Matthias Drochner
+- 2007  Michael Weitzel
+- 2007  Moritz Borgmann
+- 2007  Peter A. Gustafson
+- 2007  Sebastian Schubert
+- 2007  Steve M. Robbins
+- 2007  Steven Mestdagh
+- 2007  Tarmigan Casebolt
+- 2007  Thomas Kasper
+- 2007  Ulrich Tipp
+- 2007  Utkarsh Upadhyay
+- 2007  Vittoria Rezzonico
+- 2007  Zhi Wang
+- 2007, 2009  Joel Keay
+- 2007, 2009-2015, 2017-2018  Olaf Till
+- 2007-2008  Muthiah Annamalai
+- 2007-2009  Brian Gough
+- 2007-2009  Jason Riedy
+- 2007-2013, 2015-2019  Marco Caliari
+- 2007-2013, 2018  John P. Swensen
+- 2007-2016, 2018-2019  Carlo de Falco
+- 2007-2016, 2019  Ben Abbott
+- 2008  Emil Lucretiu
+- 2008  G. (Gert) van Antwerpen
+- 2008  James Packer
+- 2008  Jarkko Kaleva
+- 2008  Jonathan Stickel
+- 2008  Julian Schnidder
+- 2008  Julien Pommier
+- 2008  Krzesimir Nowak
+- 2008  Maciek Gajewski
+- 2008  Mark van Rossum
+- 2008  Martin Weiser
+- 2008  Primozz Peterlin
+- 2008  Richard Bovey
+- 2008  Ryan Hinton
+- 2008  Sebastien Loisel
+- 2008  Tetsuro KURITA
+- 2008  Thomas L. Scofield
+- 2008  Timo Lindfors
+- 2008, 2010  Brett Stewart
+- 2008, 2010-2012  Konstantinos Poulios
+- 2008, 2011, 2013-2019  Andreas Weber
+- 2008, 2011-2012  Kris Thielemans
+- 2008, 2018  Dave Goel
+- 2008-2009  Ivan Sutoris
+- 2008-2009  Radek Salac
+- 2008-2010  Ryan Rusaw
+- 2008-2010  VZLU Prague
+- 2008-2011  Jaroslav Hajek
+- 2008-2011  Thorsten Meyer
+- 2008-2011, 2015-2016, 2018-2019  Tatsuro Matsuoka
+- 2008-2013, 2018  Marco Atzeri
+- 2008-2015, 2017  Michael D. Godfrey
+- 2009  Aleksej Saushev
+- 2009  Alexander Mamonov
+- 2009  Ansgar Burchardt
+- 2009  Aravindh Krishnamoorthy
+- 2009  Bernard Desgraups
+- 2009  Bertrand Roessli
+- 2009  Carmine Paolino
+- 2009  Carsten Clark
+- 2009  Christophe Tournery
+- 2009  Daniel Gualberto
+- 2009  E. Joshua Rigler
+- 2009  Eric Chassande-Mottin
+- 2009  Frederick Umminger
+- 2009  Joe Rothweiler
+- 2009  Kacper Kowalik
+- 2009  Kai NODA
+- 2009  Kristian Rumberg
+- 2009  Nokia Corporation and/or its subsidiary(-ies).
+- 2009  Peter L. Søndergaard
+- 2009  Peter O'Gorman
+- 2009  Pieter Eendebak
+- 2009  Rob Mahurin
+- 2009  Robert Millan
+- 2009  Stefan Hepp
+- 2009  Steffen Groot
+- 2009  Steven Verstoep
+- 2009  Thomas D. Dean
+- 2009, 2011  Lukas Reichlin
+- 2009, 2011-2012  Robert T. Short
+- 2009-2010, 2012  Martin Helm
+- 2009-2011  David Grundberg
+- 2009-2011  Petr Mikulik
+- 2009-2020  Rik Wehbring
+- 2010  Brad Froehle
+- 2010  Christos Dimitrakakis
+- 2010  Daisuke TAKAGO
+- 2010  David Gesswein
+- 2010  Gunnar Farnebäck
+- 2010  Joshua Redstone
+- 2010  Judd Storrs
+- 2010  Jyh-Miin Lin
+- 2010  Liam Groener
+- 2010  Marc Vinyals
+- 2010  Pedro Gonnet
+- 2010  Peter van den Biggelaar
+- 2010  Qianqian Fang
+- 2010-2012  Iain Murray
+- 2010-2017  Jordi Gutiérrez Hermoso
+- 2011  Alexander Klein
+- 2011  Andriy Shinkarchuck
+- 2011  Andy Buckle
+- 2011  David Finkel
+- 2011  David Wells
+- 2011  Fabian Deutsch
+- 2011  Giles Anderson
+- 2011  Hannes Müller
+- 2011  John Bradshaw
+- 2011  Karsten Trulsen
+- 2011  Matthias Jüschke
+- 2011  Patrick Häcker
+- 2011  Paul Boven
+- 2011  Richard Campbell
+- 2011  Roman Belov
+- 2011  Sean Young
+- 2011  Vanya Sergeev
+- 2011-2012  Fotios Kasolis
+- 2011-2012  Jacob Dawid
+- 2011-2012  Jarno Rajahalme
+- 2011-2012  John Hunt
+- 2011-2012, 2014, 2016  Daniel Kraft
+- 2011-2013  Júlio Hoffimann Mendes
+- 2011-2018  Carnë Draug
+- 2011-2019  Philip Nienhuis
+- 2011-2020  Torsten Lilge
+- 2012  Alexander Graf
+- 2012  Alexander Hansen
+- 2012  Corbin Champion
+- 2012  Elias Pipping
+- 2012  Fabio Rossi
+- 2012  Garrett G Euler
+- 2012  Israel Herraiz
+- 2012  Jen Stewart
+- 2012  Melvin Robinson
+- 2012  Miguel Bazdresch
+- 2012  Nicholas Musolino
+- 2012  Ronald van der Meer
+- 2012  Ryan Starret
+- 2012  Sergey Dudoladov
+- 2012  Stefan Husmann
+- 2012  Sunghyun Cho
+- 2012  Vivek Dogra
+- 2012, 2014-2019  Colin Macdonald
+- 2012-2013  Axel Mathéi
+- 2012-2013  Ed Meyer
+- 2012-2013  Erik Kjellson
+- 2012-2013  Max Brister
+- 2012-2013  Muhali
+- 2012-2013  Richard Crozier
+- 2012-2013  Thorsten Liebig
+- 2012-2016, 2018-2019  Juan Pablo Carbajal
+- 2012-2019  Pantxo Diribarne
+- 2012-2020  Mike Miller
+- 2013  Adam H Aitkenhead
+- 2013  Amod Mulay
+- 2013  Andre da Costa Barros
+- 2013  Andy Register
+- 2013  Artem Krosheninnikov
+- 2013  Arun Giridhar
+- 2013  Ben Kurtz
+- 2013  Carl Osterwisch
+- 2013  Catalin Codreanu
+- 2013  Clemens Buchacher
+- 2013  Corey Thomasson
+- 2013  Craig Hudson
+- 2013  David Turner
+- 2013  FZI Forschungszentrum Informatik Karlsruhe
+- 2013  Falk Tannhäuser
+- 2013  Janne Olavi Paanajärvi
+- 2013  Jens Restemeier
+- 2013  Leopoldo Cerbaro
+- 2013  Marco Cecchetti
+- 2013  Patrick Noffke
+- 2013  Risto Vanhanen
+- 2013  Rüdiger Sonderfeld
+- 2013  Serhiy Zahoriya
+- 2013  Vytautas Jančauskas
+- 2013, 2015-2019  Sébastien Villemot
+- 2013, 2016  Sander van Rijn
+- 2013, 2018  Valentin Ortega
+- 2013-2014  Kyle Guinn
+- 2013-2014  LYH
+- 2013-2014  Markus Appel
+- 2013-2014  Mike Sander
+- 2013-2014  Philipp Kutin
+- 2013-2014  PrasannaKumar Muralidharan
+- 2013-2014, 2016-2017  Nir Krakauer
+- 2013-2014, 2016-2019  Julien Bect
+- 2013-2015  Stefan Mahr
+- 2013-2015, 2018  Felipe G. Nievinski
+- 2013-2019  Kai T. Ohlhus
+- 2013-2020  John Donoghue
+- 2014  Ahsan Ali Shahid
+- 2014  Branden Archer
+- 2014  Colin Foster
+- 2014  David Spies
+- 2014  Drew Abbot
+- 2014  Edmund Grimley Evans
+- 2014  Eduardo Ramos Fernández
+- 2014  Endre Kozma
+- 2014  Jason Alan Palmer
+- 2014  Joachim Wiesemann
+- 2014  Johannes Zarl
+- 2014  José Vallet
+- 2014  Lasse Schuirmann
+- 2014  Marco Vitetta
+- 2014  Marko Seric
+- 2014  Markus Bergholz
+- 2014  Nathan Podlich
+- 2014  Pedro Angelo
+- 2014  Pooja Rao
+- 2014  Rolando Pereira
+- 2014  Sergey Plotnikov
+- 2014  Serviscope Minor
+- 2014  Stefan Beller
+- 2014  Vaibhav Gupta
+- 2014  Willem Atsma
+- 2014, 2019  Michael C. Grant
+- 2014-2015  Allan Jacobs
+- 2014-2016  Eugenio Gianniti
+- 2014-2016  Stefan Miereis
+- 2014-2016, 2018  Massimiliano Fasi
+- 2015  Akira Noda
+- 2015  Amro
+- 2015  Armin Müller
+- 2015  Bernardo Sulzbach
+- 2015  Cillian O'Driscoll
+- 2015  Claudius Zingerli
+- 2015  Ederag
+- 2015  Ethan Biery
+- 2015  Ilya Kurdyukov
+- 2015  Johannes Leuschner
+- 2015  Ken Marek
+- 2015  Michele Zaffalon
+- 2015  Rafael Monteiro
+- 2015  Sahil Badyal
+- 2015  Yu Liu
+- 2015, 2017  Michael Barnes
+- 2015, 2017  Piotr Held
+- 2015-2016  Dmitry Roshchin
+- 2015-2016  Jacapo Corno
+- 2015-2016  José Luis García Pallero
+- 2015-2016  Oliver Heimlich
+- 2015-2016, 2018  Sebastian Schöps
+- 2015-2016, 2019  Hartmut Gimpel
+- 2015-2017  Avinoam Kalma
+- 2015-2017  Lachlan Andrew
+- 2015-2019  Nicholas R. Jankowski
+- 2016  Abhinav Tripathi
+- 2016  Andrew Thornton
+- 2016  Atri Bhattacharya
+- 2016  Barbara Lócsi
+- 2016  Damjan Angelovski
+- 2016  Francesco Faccio
+- 2016  Garrett Euler
+- 2016  Joakim Andén
+- 2016  NVS Abhilash
+- 2016  Robert Jenssen
+- 2016  Stephen Montgomery-Smith
+- 2016-2017  Ernst Reissner
+- 2016-2019  Lars Kindermann
+- 2016-2019  Markus Mützel
+- 2017  Brad Kennedy
+- 2017  Georg Wiora
+- 2017  Hugo Raguet
+- 2017  Lasse Kliemann
+- 2017  Richard Zweig
+- 2017  Tejaswi D Prakash
+- 2017  Victor Norton
+- 2017-2019  Alexander Wilms
+- 2017-2019  Guillaume Flandin
+- 2017-2019  Michael Leitner
+- 2017-2019  Michele Ginesi
+- 2017-2019  Sahil Yadav
+- 2018  Avlas
+- 2018  Cristiano Dorigo
+- 2018  Dildar Sk
+- 2018  Gene Harvey
+- 2018  Joe Winegarden
+- 2018  Maor Shutman
+- 2018  Ronny Standtke
+- 2018  Stefan Schlögl
+- 2018  Stevie Schraudner
+- 2018-2019  A.R. Burgers
+- 2018-2019  Andrew Janke
+- 2018-2019  Jun Wang
+- 2019  Anthony Morast
+- 2019  Bill Greene
+- 2019  Christian Himpe
+- 2019  Daniel Davis
+- 2019  Eddy Xiao
+- 2019  Juho Iipponen
+- 2019  Nguy?n Gia Phong
+- 2019  Tomi Pannila
+- 2019  William Greene
+- 2019-2020  Markus Meisinger
+
+
+See also the list of contributors in the Octave manual (the file
+doc/interpreter/contributors.in in the sources).
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/NEWS-1.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,1642 @@
+---
+layout: page
+title: GNU Octave Version 1
+menu: false
+permalink: NEWS-1.html
+---
+
+## Summary of important user-visible changes
+
+{% include release_news_select.md %}
+
+<h2>Summary of changes for version 1.1.1</h2>
+
+<pre>
+  * New built-in variables, default_return_value and
+    define_all_return_values.
+
+    If define_all_return_values is set to "false", Octave does not do
+    anything special for return values that are left undefined, and
+    you will get an error message if you try to use them.  For
+    example, if the function
+
+      function [x, y] = f ()
+        y = 1;
+      endfunction
+
+    is called as
+
+      octave:13> [a, b] = f ()
+
+    Octave will print an error message for the attempt to assign an
+    undefined value to `a'.
+
+    This is incompatible with Matlab, which will define the return
+    variable `x' to be the empty matrix.  To get the Matlab-like
+    behavior, you can set the variable define_all_return_values to
+    "true" (the default is "false") and default_return_value to `[]'
+    (the default).  Then, any return values that remain undefined when
+    the function returns will be initialized to `[]'.
+
+    If the function is called without explicitly asking for an output,
+    it will succeed.  This behavior is compatible and unchanged from
+    previous versions of Octave.
+
+  * New built-in variable suppress_verbose_help_message.  If set to
+    "true", Octave will not add additional help information to the end
+    of the output from the help command and usage messages for
+    built-in commands.  The default value is "false".
+
+  * New built-in variable PS4 is used as the prefix of echoed input
+    (enabled with the --echo-input (-x) option).
+
+  * The function size() now accepts an optional second argument.
+
+  * Output from `save - ...' now goes through the pager.
+
+  * The break statement may also be used to exit a function, for
+    compatibility with Matlab.
+
+  * The directory tree for installing Octave is now closer to
+    conforming with the current GNU standards.
+
+  * More bug fixes.
+</pre>
+
+<h2>Summary of changes for version 1.1.0</h2>
+
+<pre>
+  * Octave now requires g++ 2.6.3 or later.  This change is necessary
+    to make template instantiations cleaner, and to avoid having to
+    have special cases in the code for earlier versions of gcc.
+
+  * A new data structure type has been added.  The implementation uses
+    an associative array with indices limited to strings, but the
+    syntax is more like C-style structures.  here are some examples of
+    using it.
+
+    Elements of structures can be of any type, including structures:
+
+      octave:1> x.a = 1;
+      octave:2> x.b = [1, 2; 3, 4];
+      octave:3> x.c = "string";
+      octave:4> x
+      x =
+
+      <structure: a b c>
+
+      octave:5> x.a
+      x.a = 1
+      octave:6> x.b
+      x.b =
+
+        1  2
+        3  4
+
+      octave:7> x.c
+      x.c = string
+      octave:8> x.b.d = 3
+      x.b.d = 3
+      octave:9> x.b
+      x.b =
+
+      <structure: d>
+
+      octave:10> x.b.d
+      x.b.d = 3
+
+    Functions can return structures:
+
+      octave:1> a = rand (3) + rand (3) * I;
+      octave:2> function y = f (x)
+      > y.re = real (x);
+      > y.im = imag (x);
+      > endfunction
+      octave:3> f (a)
+      ans =
+
+      <structure: im re>
+
+      octave:4> ans.im
+      ans.im =
+
+        0.093411  0.229690  0.627585
+        0.415128  0.221706  0.850341
+        0.894990  0.343265  0.384018
+
+      octave:5> ans.re
+      ans.re =
+
+        0.56234  0.14797  0.26416
+        0.72120  0.62691  0.20910
+        0.89211  0.25175  0.21081
+
+    Return lists can include structure elements:
+
+      octave:1> [x.u, x.s, x.v] = svd ([1, 2; 3, 4])
+      x.u =
+
+        -0.40455  -0.91451
+        -0.91451   0.40455
+
+      x.s =
+
+        5.46499  0.00000
+        0.00000  0.36597
+
+      x.v =
+
+        -0.57605   0.81742
+        -0.81742  -0.57605
+
+      octave:8> x
+      x =
+
+      <structure: s u v>
+
+    This feature should be considered experimental, but it seems to
+    work ok.  Suggestions for ways to improve it are welcome.
+
+  * Octave now supports a limited form of exception handling modelled
+    after the unwind-protect form of Lisp:
+
+      unwind_protect
+        BODY
+      unwind_protect_cleanup
+        CLEANUP
+      end_unwind_protect
+
+    Where BODY and CLEANUP are both optional and may contain any
+    Octave expressions or commands.  The statements in CLEANUP are
+    guaranteed to be executed regardless of how control exits BODY.
+
+    This is useful to protect temporary changes to global variables
+    from possible errors.  For example, the following code will always
+    restore the original value of the built-in variable
+    do_fortran_indexing even if an error occurs while performing the
+    indexing operation.
+
+      save_do_fortran_indexing = do_fortran_indexing;
+      unwind_protect
+        do_fortran_indexing = "true";
+        elt = a (idx)
+      unwind_protect_cleanup
+        do_fortran_indexing = save_do_fortran_indexing;
+      end_unwind_protect
+
+    Without unwind_protect, the value of do_fortran_indexing would not
+    be restored if an error occurs while performing the indexing
+    operation because evaluation would stop at the point of the error
+    and the statement to restore the value would not be executed.
+
+  * Recursive directory searching has been implemented using Karl
+    Berry's kpathsea library.  Directories below path elements that
+    end in // are searched recursively for .m files.
+
+  * Octave now waits for additional input when a pair of parentheses
+    is `open' instead of giving an error.  This allows one to write
+    statements like this
+
+      if (big_long_variable_name == other_long_variable_name
+          || not_so_short_variable_name > 4
+          && y > x)
+        some (code, here);
+
+    without having to clutter up the if statement with continuation
+    characters.
+
+  * Continuation lines are now allowed in string constants and are
+    handled correctly inside matrix constants.
+
+  * Both `...{whitespace}\n' and `\{whitespace}\n' can be used to
+    introduce continuation lines, where {whitespace} may include
+    spaces, tabs and comemnts.
+
+  * The script directory has been split up by topic.
+
+  * Dynamic linking mostly works with dld.  The following limitations
+    are known problems:
+
+    -- Clearing dynamically linked functions doesn't work.
+
+    -- Dynamic linking only works with dld, which has not been ported
+       to very many systems yet.
+
+    -- Configuring with --enable-lite-kernel seems to mostly work to
+       make nonessential built-in functions dynamically loaded, but
+       there also seem to be some problems.  For example, fsolve seems
+       to always return info == 3.  This is difficult to debug since
+       gdb won't seem to allow breakpoints to be set inside
+       dynamically loaded functions.
+
+    -- Octave uses a lot of memory if the dynamically linked functions
+       are compiled with -g.  This appears to be a limitation with
+       dld, and can be avoided by not using -g to compile functions
+       that will be linked dynamically.
+
+  * fft2 and ifft2 are now built-in functions.
+
+  * The `&&' and `||' logical operators are now evaluated in a
+    short-circuit fashion and work differently than the element by
+    element operators `&' and `|'.  See the Octave manual for more
+    details.
+
+  * Expressions like 1./m are now parsed as 1 ./ m, not 1. / m.
+
+  * The replot command now takes the same arguments as gplot or
+    gsplot (except ranges, which cannot be respecified with replot
+    (yet)) so you can add additional lines to existing plots.
+
+  * The hold command has been implemented.
+
+  * New function `clearplot' clears the plot window.  The name `clg'
+    is aliased to `clearplot' for compatibility with Matlab.
+
+  * The commands `gplot clear' and `gsplot clear' are equivalent to
+    `clearplot'.  (Previously, `gplot clear' would evaluate `clear' as
+    an ordinary expression and clear all the visible variables.)
+
+  * The Matlab-style plotting commands have been improved.  They now
+    accept line-style arguments, multiple x-y pairs, and other plot
+    option flags.  For example,
+
+      plot (x, y, "@12", x, y2, x, y3, "4", x, y4, "+")
+
+    results in a plot with
+
+      y  plotted with points of type 2 ("+") and color 1 (red).
+      y2 plotted with lines.
+      y3 plotted with lines of color 4.
+      y4 plotted with points which are "+"s.
+
+    the help message for `plot' and `plot_opt' provide full
+    descriptions of the options.
+
+  * NaN is now dropped from plot data, and Inf is converted to a
+    very large value before calling gnuplot.
+
+  * Improved load and save commands:
+
+    -- The save and load commands can now read and write a new binary
+       file format.  Conversion to and from IEEE big and little endian
+       formats is handled automatically.  Conversion for other formats
+       has not yet been implemented.
+
+    -- The load command can now read Matlab .mat files, though it is
+       not yet able to read sparse matrices or handle conversion for
+       all data formats.
+
+    -- The save command can write Matlab .mat files.
+
+    -- The load command automatically determines the save format
+       (binary, ascii, or Matlab binary).
+
+    -- The default format for the save command is taken from the
+       built-in variable `default_save_format'.
+
+    -- The save and load commands now both accept a list of globbing
+       patterns so you can easily load a list of variables from a
+       file.
+
+    -- The load command now accepts the option -list, for listing the
+       variable names without actually loading the data.  With
+       -verbose, it prints a long listing.
+
+    -- The load command now accepts the option -float-binary, for
+       saving floating point data in binary files in single precision.
+
+  * who and whos now accept a list of globbing patterns so you can
+    limit the lists of variables and functions to those that match a
+    given set of patterns.
+
+  * New functions for manipulating polynomials
+
+      compan     -- companion matrix corresponding to polynomial coefficients
+      conv       -- convolve two vectors
+      deconv     -- deconvolve two vectors
+      roots      -- find the roots of a polynomial
+      poly       -- characteristic polynomial of a matrix
+      polyderiv  -- differentiate a polynomial
+      polyinteg  -- integrate a polynomial
+      polyreduce -- reduce a polynomial to minimum number of terms
+      polyval    -- evaluate a polynomial at a point
+      polyvalm   -- evaluate a polynomial in the matrix sense
+      residue    -- partial fraction expansion corresponding to the ratio
+                    of two polynomials
+
+  * New functions for manipulating sets
+
+      create_set   -- create a set of unique values
+      complement   -- find the complement of two sets
+      intersection -- find the intersection of two sets
+      union        -- find the union of two sets
+
+  * New elementary functions:
+
+      acot   acoth   acsc   acsch
+      asec   asech   cot    coth
+      csc    csch    log2   sec
+      sech
+
+  * New special functions:
+
+      beta   -- beta function
+      betai  -- incomplete beta function
+      gammai -- incomplete gamma function
+
+  * New image processing functions:
+
+      colormap  -- set and return current colormap
+      gray      -- set a gray colormap
+      gray2ind  -- image format conversion
+      image     -- display an image
+      imagesc   -- scale and display an image
+      imshow    -- display images
+      ind2gray  -- image format conversion
+      ind2rgb   -- image format conversion
+      loadimage -- load an image from a file
+      ntsc2rgb  -- image format conversion
+      ocean     -- set a color colormap
+      rgb2ind   -- image format conversion
+      rgb2ntsc  -- image format conversion
+      saveimage -- save an image to a file
+
+  * New time and date funcitons:
+
+      tic          -- set wall-clock timer
+      toc          -- get elapsed wall-clock time, since timer last set
+      etime        -- another way to get elapsed wall-clock time
+      cputime      -- get CPU time used since Octave started
+      is_leap_year -- is the given year a leap year?
+
+  * Other new functions:
+
+      bug_report -- submit a bug report to the bug-octave mailing list
+
+      toascii -- convert a string to a matrix of ASCII character codes
+
+      octave_tmp_file -- generate a unique temporary file name
+
+      undo_string_escapes -- replace special characters in a string by
+                             their backslash forms
+
+      is_struct -- determine whether something is a structure data type
+
+      feof   -- check EOF condition for a specified file
+      ferror -- check error state for a specified file
+      fread  -- read binary data from a file
+      fwrite -- write binary data to a file
+
+      file_in_path -- check to see if named file exists in given path
+
+      kbhit  -- get a single character from the terminal
+
+      axis   -- change plot ranges
+      hist   -- plot histograms
+
+      diary  -- save commands and output to a file
+
+      type   -- show the definition of a function
+      which  -- print the type of an identifier or the location of a
+                function file
+
+      isieee  -- Returns 1 if host uses IEEE floating point
+      realmax -- Returns largest floating point number
+      realmin -- Returns smallest floating point number
+
+      gcd     -- greatest common divisor
+      lcm     -- least common multiple
+
+      null    -- orthonormal basis of the null space of a matrix
+      orth    -- orthonormal basis of the range space of a matrix
+
+      fft2    -- two-dimensional fast fourier transform
+      ifft2   -- two-dimensional inverse fast fourier transform
+      filter  -- digital filter
+      fftfilt -- filter using fft
+      fftconv -- convolve to vectors using fft
+      sinc    -- returns sin(pi*x)/(pi*x)
+      freqz   -- compute the frequency response of a filter
+
+  * The meaning of nargin (== args.length ()) in built-in functions
+    has been changed to match the meaning of nargin in user-defined
+    functions.
+
+  * Variable return lists.  Octave now has a real mechanism for
+    handling functions that return an unspecified number of values,
+    so it is no longer necessary to place an upper bound on the number
+    of outputs that a function can produce.
+
+    Here is an example of a function that uses the new syntax to
+    produce n values:
+
+      function [...] = foo (n)
+        for i = 1:n
+          vr_val (i * x);
+        endfor
+      endfunction
+
+  * New keyword, all_va_args, that allows the entire list of va_args
+    to be passed to another function.  For example, given the functions
+
+      function f (...)
+        while (nargin--)
+          disp (va_arg ())
+        endwhile
+      endfunction
+      function g (...)
+        f ("begin", all_va_args, "end")
+      endfunction
+
+    the statement
+
+      g (1, 2, 3)
+
+    prints
+
+      begin
+      1
+      2
+      3
+      end
+
+    all_va_args may be used more than once, but can only be used
+    within functions that take a variable number of arguments.
+
+  * If given a second argument, svd now returns an economy-sized
+    decomposition, eliminating the unecessary rows or columns of U or
+    V.
+
+  * The max and min functions correctly handle complex matrices in
+    which some columns contain real values only.
+
+  * The find function now handles 2 and 3 output arguments.
+
+  * The qr function now allows computation of QR with pivoting.
+
+  * hilb() is much faster for large matrices.
+
+  * computer() is now a built-in function.
+
+  * pinv() is now a built-in function.
+
+  * The output from the history command now goes through the pager.
+
+  * If a function is called without assigning the result, nargout is
+    now correctly set to 0.
+
+  * It is now possible to write functions that only set some return
+    values.  For example, calling the function
+
+      function [x, y, z] = f () x = 1; z = 2; endfunction
+
+    as
+
+      [a, b, c] = f ()
+
+    produces:
+
+      a = 1
+
+      b = [](0x0)
+
+      c = 2
+
+  * The shell_cmd function has been renamed to system (the name
+    shell_cmd remains for compatibility).  It now returns [output, status].
+
+  * New built-in variable `OCTAVE_VERSION'.  Also a new function,
+    version, for compatibility with Matlab.
+
+  * New built-in variable `automatic_replot'.  If it is "true", Octave
+    will automatically send a replot command to gnuplot each time the
+    plot changes.  Since this is fairly inefficient, the default value
+    is "false".
+
+  * New built-in variable `whitespace_in_literal_matrix' allows some
+    control over how Octave decides to convert spaces to commas in
+    matrix expressions like `[m (1)]'.
+
+    If the value of `whitespace_in_literal_matrix' is "ignore", Octave
+    will never insert a comma or a semicolon in a literal matrix list.
+    For example, the expression `[1 2]' will result in an error
+    instead of being treated the same as `[1, 2]', and the expression
+
+      [ 1, 2,
+        3, 4 ]
+
+    will result in the vector [1 2 3 4] instead of a matrix.
+
+    If the value of `whitespace_in_literal_matrix' is "traditional",
+    Octave will convert spaces to a comma between identifiers and `('.
+    For example, given the matrix
+
+      m = [3 2]
+
+    the expression
+
+      [m (1)]
+
+    will be parsed as
+
+      [m, (1)]
+
+    and will result in
+
+      [3 2 1]
+
+    and the expression
+
+      [ 1, 2,
+        3, 4 ]
+
+    will result in a matrix because the newline character is converted
+    to a semicolon (row separator) even though there is a comma at the
+    end of the first line (trailing commas or semicolons are ignored).
+    This is apparently how Matlab behaves.
+
+    Any other value for `whitespace_in_literal_matrix' results in
+    behavior that is the same as traditional, except that Octave does
+    not convert spaces to a comma between identifiers and `('.
+    For example, the expression
+
+      [m (1)]
+
+    will produce 3.  This is the way Octave has always behaved.
+
+  * Line numbers in error messages for functions defined in files and
+    for script files now correspond to the file line number, not the
+    number of lines after the function keyword appeared.
+
+  * Octave now extracts help from script files.  The comments must
+    come before any other statements in the file.
+
+  * In function files, the first block of comments in the file will
+    now be interpreted as the help text if it doesn't look like the
+    Octave copyright notice.  Otherwise, Octave extracts the first set
+    of comments after the function keyword.
+
+  * The function clock is more accurate on systems that have the
+    gettimeofday() function.
+
+  * The standard output stream is now automatically flushed before
+    reading from stdin with any of the *scanf() functions.
+
+  * Expanded reference card.
+
+  * The Octave distribution now includes a frequently asked questions
+    file, with answers.  Better answers and more questions (with
+    answers!) are welcome.
+
+  * New option --verbose.  If Octave is invoked with --verbose and not
+    --silent, a message is printed if an octaverc file is read while
+    Octave is starting.
+
+  * An improved configure script generated by Autoconf 2.0.
+
+  * Lots of bug fixes.
+</pre>
+
+<h2>Summary of changes for version 1.0</h2>
+
+<pre>
+  * C-style I/O functions now handle files referenced by name or by
+    number more consistently.
+</pre>
+
+<h2>Summary of changes for version 0.83</h2>
+
+<pre>
+  * Loading global symbols should work now.
+
+  * Clearing the screen doesn't reprint the prompt unnecessarily.
+
+  * The operations <complex scalar> OP <real matrix> for OP == +, -,
+    *, or ./ no longer crash Octave.
+
+  * More portability and configuration fixes.
+</pre>
+
+<h2>Summary of changes for version 0.82</h2>
+
+<pre>
+  * Octave now comes with a reference card.
+
+  * The manual has been improved, but more work remains to be done.
+
+  * The atanh function now works for complex arguments.
+
+  * The asin, acos, acosh, and atanh functions now work properly when
+    given real-valued arguments that produce complex results.
+
+  * SEEK_SET, SEEK_CUR, and SEEK_END are now constants.
+
+  * The `using' qualifier now works with gplot and gsplot when the
+    data to plot is coming directly from a file.
+
+  * The strcmp function now works correctly for empty strings.
+
+  * Eliminated bogus parse error for M-files that don't end with `end'
+    or `endfunction'.
+
+  * For empty matrices with one nonzero dimension, the +, -, .*, and
+    ./ operators now correctly preserve the dimension.
+
+  * Octave no longer crashes if you type ^D at the beginning of a line
+    in the middle of defining a loop or if statement.
+
+  * On AIX systems, Back off on indexing DiagArray via Proxy class to
+    avoid gcc (or possibly AIX assembler?) bug.
+
+  * Various other bug and portability fixes.
+</pre>
+
+<h2>Summary of changes for version 0.81</h2>
+
+<pre>
+  * Octave no longer dumps core if you try to define a function in
+    your .octaverc file.
+
+  * Fixed bug in Array class that resulted in bogus off-diagonal
+    elements when computing eigenvalue and singular value
+    decompositions.
+
+  * Fixed bug that prevented lsode from working on the SPARCstation,
+    at least with some versions of Sun's f77.  This bug was introduced
+    in 0.80, when I changed LSODE to allow the user to abort the
+    integration from within the RHS function.
+
+  * Fixed bug that prevented global attribute of variables from being
+    saved with save(), and another that prevented load() from working
+    at all.
+</pre>
+
+<h2>Summary of changes for version 0.80</h2>
+
+<pre>
+  * I have started working on a manual for the C++ classes.  At this
+    point, it is little more than a list of function names.  If you
+    would like to volunteer to help work on this, please contact
+    bug-octave@bevo.che.wisc.edu.
+
+  * The patterns accepted by the save and clear commands now work like
+    file name globbing patterns instead of regular expressions.  I
+    apologize for any inconvenience this change may cause, but file
+    name globbing seems like a more reasonable style of pattern
+    matching for this purpose.
+
+  * It is now possible to specify tolerances and other optional inputs
+    for dassl, fsolve, lsode, npsol, qpsol, and quad.  For each of
+    these functions, there is a corresponding function X_options,
+    which takes a keyword and value arguments.  If invoked without any
+    arguments, the X_options functions print a list of possible
+    keywords and current values.  For example,
+
+      npsol_options ()
+
+    prints a list of possible options with values, and
+
+      npsol_options ("major print level", 10)
+
+    sets the major print level to 10.
+
+    The keyword match is not case sensitive, and the keywords may be
+    abbreviated to the shortest unique match.  For example,
+
+      npsol_options ("ma p", 10)
+
+    is equivalent to the statement shown above.
+
+  * The new built-in variable save_precision can be used to set the
+    number of digits preserved by the ASCII save command.
+
+  * Assignment of [] now works in most cases to allow you to delete
+    rows or columns of matrices and vectors.  For example, given a
+    4x5 matrix A, the assignment
+
+      A (3, :) = []
+
+    deletes the third row of A, and the assignment
+
+      A (:, 1:2:5) = []
+
+    deletes the first, third, and fifth columns.
+
+  * Variable argument lists.  Octave now has a real mechanism for
+    handling functions that take an unspecified number of arguments,
+    so it is no longer necessary to place an upper bound on the number
+    of optional arguments that a function can accept.
+
+    Here is an example of a function that uses the new syntax to print
+    a header followed by an unspecified number of values:
+
+      function foo (heading, ...)
+        disp (heading);
+        va_start ();
+        while (--nargin)
+          disp (va_arg ());
+        endwhile
+      endfunction
+
+    Note that the argument list must contain at least one named
+    argument (this restriction may eventually be removed), and the
+    ellipsis must appear as the last element of the argument list.
+
+    Calling va_start() positions an internal pointer to the first
+    unnamed argument and allows you to cycle through the arguments
+    more than once.  It is not necessary to call va_start() if you
+    do not plan to cycle through the arguments more than once.
+
+  * Recursive functions should work now.
+
+  * The environment variable OCTAVE_PATH is now handled in the same
+    way as TeX handles TEXINPUTS.  If the path starts with `:', the
+    standard path is prepended to the value obtained from the
+    environment.  If it ends with `:' the standard path is appended to
+    the value obtained from the environment.
+
+  * New functions, from Kurt Hornik (hornik@neuro.tuwien.ac.at) and
+    the Department of Probability Theory and Statistics TU Wien,
+    Austria:
+
+     corrcoef    -- corrcoef (X, Y) is the correlation between the i-th
+                    variable in X and the j-th variable in Y
+                    corrcoef (X) is corrcoef (X, X)
+     cov         -- cov (X, Y) is the covariance between the i-th
+                    variable in X and the j-th variable in Y
+                    cov (X) is cov (X, X)
+     gls         -- generalized least squares estimation
+     kurtosis    -- kurtosis(x) = N^(-1) std(x)^(-4) SUM_i (x(i)-mean(x))^4 - 3
+                    If x is a matrix, return the row vector containing
+                    the kurtosis of each column
+     mahalanobis -- returns Mahalanobis' D-square distance between the
+                    multivariate samples X and Y, which must have the
+                    same number of components (columns), but may have
+                    a different number of observations (rows)
+     ols         -- ordinary least squares estimation
+     pinv        -- returns the pseudoinverse of X; singular values
+                    less than tol are ignored
+     skewness    -- skewness (x) = N^(-1) std(x)^(-3) SUM_i (x(i)-mean(x))^3
+                    if x is a matrix, return the row vector containing
+                    the skewness of each column
+
+  * Errors in user-supplied functions called from dassl, fsolve,
+    lsode, npsol, and quad are handled more gracefully.
+
+  * Programming errors in the use of the C++ classes within Octave
+    should no longer cause Octave to abort.  Instead, Octave's error
+    handler function is called and execution continues as best as is
+    possible.  This should result in eventually returning control to
+    the top-level Octave prompt.  (It would be nice to have a real
+    exception handling mechanism...)
+
+  * A number of memory leaks have been eliminated.  Thanks to
+    Fong Kin Fui <fui@ee.nus.sg> for reporting them.
+
+  * The C++ matrix classes are now derived from a generic
+    template-based array class.
+
+  * The readline function operate-and-get-next (from bash) is now
+    available and bound to C-O by default.
+
+  * Octave now uses the version of readline currently distributed with
+    bash-1.13.  On some systems, interactive invocations of Octave
+    will now blink the cursor to show matching parens.
+
+  * By default, include files are now installed in
+    $prefix/include/octave instead of $prefix/include.
+
+  * Octave now uses a config.h file instead of putting all defines on
+    the compiler command line.
+</pre>
+
+<h2>Summary of changes for version 0.79</h2>
+
+<pre>
+  * New control systems functions:
+
+     dgram -- Returns the discrete controllability and observability gramian.
+     dlqr  -- Discrete linear quadratic regulator design.
+     dlqe  -- Discrete linear quadratic estimator (Kalman Filter) design.
+     c2d   -- Convert continuous system description to discrete time
+              description assuming zero-order hold and given sample time.
+
+  * The max (min) functions can now return the index of the max (min)
+    value as a second return value.
+</pre>
+
+<h2>Summary of changes for version 0.78</h2>
+
+<pre>
+  * Octave's handling of global variables has been completely
+    rewritten.  To access global variables inside a function, you must
+    now declare them to be global within the function body.  Likewise,
+    if you do not declare a variable as global at the command line,
+    you will not have access to it within a function, even if it is
+    declared global there.  For example, given the function
+
+      function f ()
+        global x = 1;
+        y = 2;
+      endfunction
+
+    the global variable `x' is not visible at the top level until the
+    command
+
+      octave:13> global x
+
+    has been evaluated, and the variable `y' remains local to the
+    function f() even if it is declared global at the top level.
+
+    Clearing a global variable at the top level will remove its global
+    scope and leave it undefined.  For example,
+
+      octave:1> function f ()   # Define a function that accesses
+      >  global x;              #   the global variable `x'.
+      >  x
+      > endfunction
+      octave:2> global x = 1    # Give the variable `x' a value.
+      octave:3> f ()            # Evaluating the function accesses the
+      x = 1                     #   global `x'.
+      octave:4> clear x         # Remove `x' from global scope, clear value.
+      octave:5> x = 2           # Define new local `x' at the top level
+      x = 2
+      octave:6> f               # The global `x' is no longer defined.
+      error: `x' undefined near line 1 column 25
+      error: evaluating expression near line 1, column 25
+      error: called from `f'
+      octave:7> x               # But the local one is.
+      x = 2
+
+  * The new function, `is_global (string)' returns 1 if the variable
+    named by string is globally visible.  Otherwise, returns 0.
+
+  * The implementation of `who' has changed.  It now accepts the
+    following options:
+
+      -b -builtins   -- display info for built-in variables and functions
+      -f -functions  -- display info for currently compiled functions
+      -v -variables  -- display info for user variables
+      -l -long       -- display long info
+
+    The long output looks like this:
+
+      octave:5> who -l
+
+      *** currently compiled functions:
+
+      prot  type               rows   cols  name
+      ====  ====               ====   ====  ====
+       wd   user function         -      -  f
+
+      *** local user variables:
+
+      prot  type               rows   cols  name
+      ====  ====               ====   ====  ====
+       wd   real scalar           1      1  y
+
+      *** globally visible user variables:
+
+      prot  type               rows   cols  name
+      ====  ====               ====   ====  ====
+       wd   complex matrix       13     13  x
+
+    where the first character of the `protection' field is `w' if the
+    symbol can be redefined, and `-' if it has read-only access.  The
+    second character may be `d' if the symbol can be deleted, or `-'
+    if the symbol cannot be cleared.
+
+  * The new built-in variable ignore_function_time_stamp can be used
+    to prevent Octave from calling stat() each time it looks up
+    functions defined in M-files.  If set to "system", Octave will not
+    automatically recompile M-files in subdirectories of
+    $OCTAVE_HOME/lib/VERSION if they have changed since they were last
+    compiled, but will recompile other M-files in the LOADPATH if they
+    change.  If set to "all", Octave will not recompile any M-files
+    unless their definitions are removed with clear.  For any other
+    value of ignore_function_time_stamp, Octave will always check to
+    see if functions defined in M-files need to recompiled.  The
+    default value of ignore_function_time_stamp is "system".
+
+  * The new built-in variable EDITOR can be used to specify the editor
+    for the edit_history command.  It is set to the value of the
+    environment variable EDITOR, or `vi' if EDITOR is not set, or is
+    empty.
+
+  * There is a new built-in variable, INFO_FILE, which is used as the
+    location of the info file.  Its initial value is
+    $OCTAVE_HOME/info/octave.info, so `help -i' should now work
+    provided that OCTAVE_HOME is set correctly, even if Octave is
+    installed in a directory different from that specified at compile
+    time.
+
+  * There is a new command line option, --info-file FILE, that may be
+    used to set Octave's idea of the location of the info file.  It
+    will override any value of OCTAVE_INFO_FILE found in the
+    environment, but not any INFO_FILE="filename" commands found in
+    the system or user startup files.
+
+  * Octave's Info reader will now recognize gzipped files that have
+    names ending in `.gz'.
+
+  * The save command now accepts regular expressions as arguments.
+    Note that these patterns are regular expressions, and do not work
+    like filename globbing.  For example, given the variables `a',
+    `aa', and `a1', the command `save a*' saves `a' and `aa' but not
+    `a1'.  To match all variables beginning with `a', you must use an
+    expression like `a.*' (match all sequences beginning with `a'
+    followed by zero or more characters).
+
+  * Line and column information is included in more error messages.
+</pre>
+
+<h2>Summary of changes for version 0.77</h2>
+
+<pre>
+  * Improved help.  The command `help -i topic' now uses the GNU Info
+    browser to display help for the given topic directly from the
+    Texinfo documenation.
+
+  * New function: chol -- Cholesky factorization.
+</pre>
+
+<h2>Summary of changes for version 0.76</h2>
+
+<pre>
+  * Better run-time error messages.  Many now include line and column
+    information indicating where the error occurred.  Octave will also
+    print a traceback for errors occurring inside functions. If you
+    find error messages that could use improvement, or errors that
+    Octave fails to catch, please send a bug report to
+    bug-octave@bevo.che.wisc.edu.
+
+  * If gplot (or gsplot) is given a string to plot, and the string
+    does not name a file, Octave will pass the string along to gnuplot
+    directly.  This allows commands like
+
+      gplot "sin (x)" w l, data w p
+
+    to work (assuming that data is a variable containing a matrix of
+    values).
+
+  * Long options (--help, --version, etc.) are supported.
+</pre>
+
+<h2>Summary of changes for version 0.75</h2>
+
+<pre>
+  * The documentation is much more complete, but still could use a lot
+    of work.
+
+  * The history function now prints line numbers by default.  The
+    command `history -q' will  omit them.
+
+  * The clear function now accepts regular expressions.
+
+  * If gplot (or gsplot) is given a string to plot, and the string
+    names a file, Octave attempts to plot the contents of the file.
+
+  * New functions:
+
+    history:
+
+      run_history  -- run commands from the history list.
+      edit_history -- edit commands from the history list with your
+                      favorite editor.
+
+    linear algebra:
+
+      balance         -- Balancing for algebraic and generalized
+                         eigenvalue problems.
+      givens          -- Givens rotation.
+      is_square       -- Check to see if a matrix is square.
+      qzhess          -- QZ decomposition of the matrix pencil (a - lambda b).
+      qzval           -- Generalized eigenvalues for real matrices.
+      syl             -- Sylvester equation solver.
+
+    control systems:
+
+      is_symmetric    -- Check to see if a matrix is symmetric.
+      abcddim         -- Check dimensions of linear dynamic system [A,B,C,D].
+      is_controllable -- Check to see if [A,B,C,D] is controllable.
+      is_observable   -- Check to see if [A,B,C,D] is observable.
+      are             -- Solve algebraic Ricatti equation.
+      dare            -- Solve discrete-time algebraic Ricatti equation.
+      lqe             -- Kalman filter design for continuous linear system.
+      lqr             -- Linear Quadratic Regulator design.
+      lyap            -- Solve Lyapunov equation.
+      dlyap           -- Solve discrete Lyapunov equation.
+      tzero           -- Compute the transmission zeros of [A,B,C,D].
+</pre>
+
+<h2>Summary of changes for version 0.74</h2>
+
+<pre>
+  * Formal parameters to functions are now always considered to be
+    local variables, so things like
+
+      global x = 0
+      global y = 0
+      function y = f (x) x = 1; y = x; end
+      f (x)
+
+    result in the function returning 1, with the global values of x
+    and y unchanged.
+
+  * Multiple assignment expressions are now allowed to take indices,
+    so things like
+
+      octave:13> [a([1,2],[3,4]), b([5,6],[7,8])] = lu ([1,2;3,4])
+
+    will work correctly.
+</pre>
+
+<h2>Summary of changes for version 0.73</h2>
+
+<pre>
+  * Saving and loading global variables works correctly now.
+
+  * The save command no longer saves built-in variables.
+
+  * Global variables are more reliable.
+
+  * Matrices may now have one or both dimensions zero, so that
+    operations on empty matrices are now handled more consistently.
+
+    By default, dimensions of the empty matrix are now printed along
+    with the empty matrix symbol, `[]'.  For example:
+
+      octave:13> zeros (3, 0)
+      ans =
+
+      [](3x0)
+
+    The new variable `print_empty_dimensions' controls this behavior.
+
+    See also Carl de Boor, An Empty Exercise, SIGNUM, Volume 25,
+    pages 2--6, 1990, or C. N. Nett and W. M. Haddad, A
+    System-Theoretic Appropriate Realization of the Empty Matrix
+    Concept, IEEE Transactions on Automatic Control, Volume 38,
+    Number 5, May 1993.
+
+  * The right and left division operators `/' and `\' will now find a
+    minimum norm solution if the system is not square, or if the
+    coefficient matrix is singular.
+
+  * New functions:
+
+      hess   -- Hessenberg decomposition
+      schur  -- Ordered Schur factorization
+      perror -- print error messages corresponding to error codes
+                returned from the functions fsolve, npsol, and qpsol
+                (with others to possibly be added later).
+
+  * Octave now prints a warning if it finds anything other than
+    whitespace or comments after the final `end' or `endfunction'
+    statement.
+
+  * The bodies of functions, and the for, while, and if commands are
+    now allowed to be empty.
+
+  * Support for Gill and Murray's QPSOL has been added.  Like NPSOL,
+    QPSOL is not freely redistributable either, so you must obtain
+    your own copy to be able to use this feature.  More information
+    about where to find QPSOL and NPSOL are in the file README.NLP.
+</pre>
+
+<h2>Summary of changes for version 0.72</h2>
+
+<pre>
+  * For numeric output, columns are now lined up on the decimal point.
+    (This requires libg++-2.3.1 or later to work correctly).
+
+  * If octave is running interactively and the output intended for the
+    screen is longer than one page and a pager is available, it is
+    sent to the pager through a pipe.  You may specify the program to
+    use as the pager by setting the variable PAGER.  PAGER may also
+    specify a command pipeline.
+
+  * Spaces are not always significant inside square brackets now, so
+    commands like
+
+      [ linspace (1, 2) ]
+
+    will work.  However, some possible sources of confusion remain
+    because Octave tries (possibly too hard) to determine exactly what
+    operation is intended from the context surrounding an operator.
+    For example:
+
+    -- In the command
+
+         [ 1 - 1 ]
+
+       the `-' is treated as a binary operator and the result is the
+       scalar 0, but in the command
+
+         [ 1 -1 ]
+
+       the `-' is treated as a unary operator and the result is the
+       vector [ 1 -1 ].
+
+    -- In the command
+
+         a = 1; [ 1 a' ]
+
+       the single quote character `'' is treated as a transpose operator
+       and the result is the vector [ 1 1 ], but in the command
+
+         a = 1; [ 1 a ' ]
+
+       an error message indicating an unterminated string constant is
+       printed.
+
+  * Assignments are just expressions now, so they are valid anywhere
+    other expressions are.  This means that things like
+
+      if (a = n < m) ... endif
+
+    are valid.  This is parsed as:  compare `n < m', assign the result
+    to the variable `a', and use it as the test expression in the if
+    statement.
+
+    To help avoid errors where `=' has been used but `==' was
+    intended, Octave issues a warning suggesting parenthesis around
+    assignments used as truth values.  You can suppress this warning
+    by adding parenthesis, or by setting the value of the new built-in
+    variable `warn_assign_as_truth_value' to 'false' (the default
+    value is 'true').
+
+    This is also true for multiple assignments, so expressions like
+
+      [a, b, c] = [u, s, v] = expression
+
+    are now possible.  If the expression is a function, nargout is set
+    to the number of arguments for the right-most assignment.  The
+    other assignments need not contain the same number of elements.
+    Extra left hand side variables in an assignment become undefined.
+
+  * The default line style for plots is now `lines' instead of
+    `points'.  To change it, use the `set data style STYLE' command.
+
+  * New file handling and I/O functions:
+
+      fopen    -- open a file for reading or writing
+      fclose   -- close a file
+      fflush   -- flush output to a file
+      fgets    -- read characters from a file
+      frewind  -- set file position to the beginning of a file
+      fseek    -- set file position
+      ftell    -- tell file position
+      freport  -- print a report for all open files
+      fscanf   -- read from a file
+      sscanf   -- read from a string
+      scanf    -- read from the standard input
+
+  * New built-in variables for file and I/O functions:
+
+      stdin    -- file number corresponding to the standard input stream.
+      stdout   -- file number corresponding to the standard output stream.
+      stderr   -- file number corresponding to the standard error stream.
+
+    The following may be used as the final (optional) argument for
+    fseek:
+
+      SEEK_SET -- set position relative to the beginning of the file.
+      SEEK_CUR -- set position relative to the current position.
+      SEEK_END -- set position relative to the end of the file.
+
+  * New function: setstr -- convert vectors or scalars to strings
+    (doesn't work for matrices yet).
+
+  * If possible, computer now prints the system type instead of
+    always printing `Hi Dave, I'm a HAL-9000'.
+
+  * Octave now properly saves and restores its internal state
+    correctly in more places.  Interrupting Octave while it is
+    executing a script file no longer causes it to exit.
+
+  * Octave now does tilde expansion on each element of the LOADPATH.
+
+  * A number of memory leaks have been plugged.
+
+  * Dependencies for C++ source files are now generated automatically
+    by g++.
+
+  * There is a new command line option, -p PATH, that may be used to
+    set Octave's loadpath from the command line.  It will override any
+    value of OCTAVE_PATH found in the environment, but not any
+    LOADPATH="path" commands found in the system or user startup files.
+
+  * It is now possible to override Octave's default idea of the
+    location of the system-wide startup file (usually stored in
+    $(prefix)/lib/octave/octaverc) using the environment variable
+    OCTAVE_HOME.  If OCTAVE_HOME has a value, Octave will look for
+    octaverc and its M-files in the directory $OCTAVE_HOME/lib/octave.
+
+    This allows people who are using binary distributions (as is
+    common with systems like Linux) to install the real octave binary
+    in any directory (using a name like octave.bin) and then install
+    a simple script like this
+
+      #!/bin/sh
+      OCTAVE_HOME=/foo/bar/baz
+      export OCTAVE_HOME
+      exec octave.bin
+
+    to be invoked as octave.
+
+</pre>
+
+<h2>Summary of changes for version 0.71</h2>
+
+<pre>
+  * Much improved plotting facility.  With this release, Octave does
+    not require a specially modified version of gnuplot, so gnuplot
+    sources are no longer distributed with Octave.  For a more
+    detailed description of the new plotting features, see the file
+    PLOTTING.
+
+  * New plotting commands:
+
+      plot            -- 2D plots
+      semilogx        -- 2D semilog plot with logscale on the x axis
+      semilogy        -- 2D semilog plot with logscale on the y axis
+      loglog          -- 2D log-log plot
+      mesh            -- 3D mesh plot
+      meshdom         -- create matrices for 3D plotting from two vectors
+      contour         -- contour plots of 3D data
+      bar             -- create bar graphs
+      stairs          -- create stairstep plots
+      polar           -- 2D plots from theta-R data
+      grid            -- turn plot grid lines on or off
+      xlabel, ylabel  -- place labels on the x and y axes of 2D plots
+      sombrero        -- demonstrate 3D plotting
+      gplot           -- 2D plot command with gnuplot-like syntax
+      gsplot          -- 3D plot command with gnuplot-like syntax
+      set             -- set plot options with gnuplot syntax
+      show            -- show plot options with gnuplot syntax
+      closeplot       -- close stream to gnuplot process
+      purge_tmp_files -- delete temporary files created by plot command
+
+  * Other new commands:
+
+      ls, dir         -- print a directory listing
+      shell_cmd       -- execute shell commands
+      keyboard        -- get input from keyboard, useful for debugging
+      menu            -- display a menu of options and ask for input
+      fft             -- fast fourier transform
+      ifft            -- inverse fast fourier transform
+
+  * Strings may be enclosed in either single or double quote
+    characters.  Double quote characters are not special within single
+    quote strings, and single quotes are not special within double
+    quote strings.
+
+  * Command name completion now works for M-file names too.
+
+  * Better help and usage messages for many functions.
+
+  * Help is now available for functions defined in M-files.  The first
+    block of comments is taken as the text of the help message.
+
+  * Numerous changes in preparation to support dynamic loading of
+    object files with dld.
+
+  * Bug fixes to make solving DAEs with dassl actually work.
+
+  * The command `save file' now saves all variables in the named file.
+
+  * If do_fortran_indexing is 'true', indexing a scalar with
+    [1,1,1,...] (n times) replicates its value n times.  The
+    orientation of the resulting vector depends on the value of
+    prefer_column_vectors.
+
+  * Things like [[1,2][3,4]] no longer cause core dumps, and invalid
+    input like [1,2;3,4,[5,6]] now produces a diagnositic message.
+
+  * The cd, save, and load commands now do tilde expansion.
+
+  * It's now possible to clear global variables and functions by name.
+
+  * Use of clear inside functions is now a parse error.
+</pre>
+
+<h2>Summary of changes for version 0.70</h2>
+
+<pre>
+  * Better parse error diagnostics.  For interactive input, you get
+    messages like
+
+      octave:1> a = 3 + * 4;
+
+      parse error:
+
+          a = 3 + * 4;
+                  ^
+
+    and for script files, the message includes the file name and input
+    line number:
+
+      octave:1> foo
+
+      parse error near line 4 of file foo.m:
+
+          a = 3 + * 4;
+                  ^
+
+  * New built-in variable PS2 which is used as the secondary prompt.
+    The default value is '> '.
+
+  * New file, octave-mode.el, for editing Octave code with GNU Emacs.
+    This is a modified version of Matthew R. Wette's matlab-mode.el.
+
+  * Better support for missing math functions.
+
+  * User preferences are now cached in a global struct so we don't
+    have to do a symbol table lookup each time we need to know what
+    they are.  This should mean slightly improved performance for
+    evaluating expressions.
+</pre>
+
+<h2>Summary of changes for version 0.69</h2>
+
+<pre>
+  * Multiple assignments are now possible, so statements like
+
+      a = b = c = 3;
+      a = b = c = [1,2;3,4];
+
+    or
+
+      c = (a = (b = 2) * 3 + 4) * 5
+
+    are legal, as are things that have even more bizarre effects, like
+
+      a(4:6,4:6) = b(2:3,2:3) = [1,2;3,4];
+
+    (try it).
+
+  * Improved parsing of strings (but they still don't work as matrix
+    elements).
+
+  * An M-file may now either define a function or be a list of
+    commands to execute.
+
+  * Better detection and conditional compilation of IEEE functions
+    isinf, finite, and isnan.
+
+  * Replacements for acosh, asinh, atanh, and gamma from the BSD math
+    library for those systems that don't have them.
+</pre>
+
+<h2>Summary of changes for version 0.68</h2>
+
+<pre>
+  * New functions:
+
+      eval  -- evaluate a string as a sequence of Octave commands.
+      input -- print a prompt and get user input.
+</pre>
+
+<h2>Summary of changes for version 0.67</h2>
+
+<pre>
+  * New functions:
+
+      find -- return the indices of nonzero elements.
+
+  * Zero-one style indexing now works.  For example,
+
+      a = [1,2,3,4];
+      b = a([1,0,0,1])
+
+    sets b to the first and fourth elememnts of a.
+
+    Zero-one style indexing also works for indexing the left hand side
+    of an assignment.  For example,
+
+      a = rand (1,2;3,4);
+      a([0,1],:) = [-1,-2]
+
+    sets the second row of a to [-1 -2]
+
+    The behavior for the ambiguous case
+
+      a = [1,2,3,4];
+      b = a([1,1,1,1]);
+
+    is controlled by the new global variable `prefer_zero_one_indexing'.
+    If this variable is equal to 'true', b will be set to [1 2 3 4].
+    If it is false, b will be set to [1 1 1 1].  The default value is
+    'false'.
+
+  * Using the new global variable `propagate_empty_matrices', it is
+    possible to have unary andy binary operations on empty matrices
+    return an empty matrix.  The default value of this variable is
+    'warn', so that empty matrices are propagated but you get a
+    warning.  Some functions, like eig and svd have also been changed
+    to handle this.
+
+  * Empty matrices can be used in conditionals, but they always
+    evaluate to `false'.  With propagate_empty_matrices = 'true', both
+    of the following expressions print 0:
+
+      if  [], 1, else 0, end
+      if ~[], 1, else 0, end
+
+  * Octave no longer converts input like `3.2 i' or `3 I' to complex
+    constants directly because that causes problems inside square
+    brackets, where spaces are important.  This abbreviated notation
+    *does* work if there isn't a space between the number and the i,
+    I, j, or J.
+</pre>
+
+<h2>Summary of changes for version 0.66</h2>
+
+<pre>
+  * Logical unary not operator (~ or !) now works for complex.
+
+  * Left division works.
+
+  * Right and left element by element division should work correctly
+    now.
+
+  * Numbers like .3e+2 are no longer errors.
+
+  * Indexing a matrix with a complex value doesn't cause a core dump.
+
+  * The min and max functions should work correctly for two arguments.
+
+  * Improved (I hope!) configuration checks.
+
+  * Octave is now installed as octave-M.N, where M and N are version
+    numbers, and octave is a link to that file.  This makes it
+    possible to have more than one version of the interpreter installed.
+</pre>
+
+<h2>Summary of changes for version 0.63</h2>
+
+<pre>
+  * The reshape function works again.
+
+  * Octave now converts input like `3.2i' or `3 I' or `2.3e5 j' to be
+    complex constants directly, rather than requiring an expression
+    like `3.3 * i' to be evaluated.
+</pre>
+
+<h2>Summary of changes for version 0.61</h2>
+
+<pre>
+  * Octave has been successfully compiled using gcc 2.3.3 and libg++ 2.3.
+    on a 486 system running Linux.
+
+  * The win_texas_lotto function is now called texas_lotto (it's a
+    script file, and win_texas_lotto.m is too long for some Linux and
+    System V systems).
+</pre>
+
+<h2>Summary of changes for version 0.57</h2>
+
+<pre>
+  * The C-like formatted print functions printf, fprintf, and sprintf
+    finally work.
+</pre>
+
+<h2>Summary of changes for version 0.56</h2>
+
+<pre>
+  * By default, octave prints a short disclaimer when it starts.
+    (You can suppress it by invoking octave with -q).
+
+  * You can keep octave from reading your ~/.octaverc and .octaverc
+    files by invoking it with -f.
+
+  * When returning two values, eig now returns [v, d] instead of
+    [lambda, v], where d is a diagonal matrix made from lambda.
+
+  * The win_texas_lotto function now produces a sorted list.
+
+  * New functions:
+
+      expm -- matrix exponential.
+      logm -- matrix logarithm.
+</pre>
+
+<h2>Summary of changes for version 0.55</h2>
+
+<pre>
+  * The following (C-style) backslash escape sequences work in quoted
+    strings (useful(?) with printf()):
+
+      \a  bell         \r  carriage return
+      \b  backspace    \t  horizontal tab
+      \f  formfeed     \v  vertical tab
+      \n  newline      \\  backslash
+
+  * Use of `...' at the end of a line will allow a statement to
+    continue over more than one line.
+
+  * The names `inf' and `nan' are now aliases for `Inf' and `NaN',
+    respectively.
+
+  * New functions:
+
+      casesen -- print a warning if the luser tries to turn off case
+                 sensitivity.
+      median  -- find median value.
+      norm    -- compute the norm of a matrix.
+      sort    -- sort columns.
+
+  * New variable, `silent_functions'.  If silent_functions == 'true',
+    the results of expressions are not printed even if they are not
+    followed by a semicolon.  The disp() and printf() functions still
+    result in output.  The default value for this variable is 'false'.
+
+  * New variable `return_last_value_computed'.  If it is 'true',
+    functions defined in script files return the last value computed
+    if a return value has not been explicitly declared.  The default
+    value for this variable is 'false'.
+</pre>
+
+<h2>Summary of changes for version 0.52</h2>
+
+<pre>
+  * Name completion works for function and variable names currently in
+    the symbol tables.  Coming soon: completion for names of functions
+    defined in script files but not yet compiled.
+
+  * The initial value of do_fortran_indexing is now false, and the
+    initial value of prefer_column_vectors is now true.  Swap the
+    values of these variables if you want behavior that is more like
+    Matlab.
+
+  * All script files check the number of input arguments before doing
+    much real work.
+
+  * The identifiers `i' and `j' are now also names for sqrt(-1).
+    These symbols may be used for other purposes, but their original
+    definition will reappear if they are cleared.
+
+  * The symbol tables are now implemented with hash tables for faster
+    searching.
+
+  * A small amount of help is now available for most built-in
+    operators, keywords and functions.  Coming soon: help for script
+    files.
+
+  * Without any arguments, the help command now lists all known
+    built-in operators, keywords and functions.
+
+  * Generic parse errors are now signalled by `Eh, what's up doc?',
+    which is closer to what Bugs actually says.
+
+  * The who command now only prints variable names by default.
+    Use the -fcn (or -fcns, or -functions) switch to print the names of
+    built-in or currently compiled functions.
+</pre>
+
+<h2>Summary of changes for version 0.51</h2>
+
+<pre>
+  * Major overhaul of array indexing.
+
+  * The colloc function actually works now.
+</pre>
+
+<h2>Summary of changes for version 0.50</h2>
+
+<pre>
+  * The lsode and dassl functions now return the states only,
+    instead of the time and the states, so you must keep track of
+    the corresponding times (this is easy though, because you have
+    to specify a vector of desired output times anyway).
+
+  * Solution of NLPs with NPSOL now works on the SPARC.
+
+  * New keywords `endif', `endfor', `endfunction', `endif', and
+    `endwhile', which allow for better diagnostics.  The `end' keyword
+    is still recognized.  All script files have been changed to use
+    these new keywords in place of `end'.
+
+  * It is now possible to uninstall Octave by doing a `make uninstall'
+    in the top level directory.
+
+  * The Makefiles are much closer to conforming with GNU coding standards.
+
+  * New functions:
+
+      win_texas_lotto  -- produce six unique random numbers between 1 and 50.
+      quad             -- numerical integration.
+      lu               -- LU factorization
+      qr               -- QR factorization
+      dassl            -- Solution of DAEs using DASSL.
+
+  * New files:
+
+      THANKS -- A list of people and organazations who have supported
+                the development of Octave.
+
+      NEWS   -- This file, listing recent changes.
+
+  * Help is now available at the gnuplot prompt.
+</pre>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/NEWS-2.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,1272 @@
+---
+layout: page
+title: GNU Octave Version 2
+menu: false
+permalink: NEWS-2.html
+---
+
+## Summary of important user-visible changes
+
+{% include release_news_select.md %}
+
+<h2>Summary of changes for version 2.0.17</h2>
+
+<p>This will probably be the last release in the 2.0.x series.  There are
+a few bug fixes, but the major change is to print a message saying
+that Octave 2.0.x cannot be compiled with gcc 3.0.x or gcc 2.96.  If
+you want to build Octave 2.0.x, you will need to use gcc 2.95.x.  If
+you want to use gcc 3.0.x or some later version, you should be using
+the Octave 2.1.35 sources or a more recent version.</p>
+
+<h2>Summary of changes for version 2.0.16</h2>
+
+<p>This is primarily a bug-fixing release.</p>
+
+<h2>Summary of changes for version 2.0.15</h2>
+
+<p>This is primarily a bug-fixing release.</p>
+
+<ul>
+<li>If you are using GNU Emacs 19.34 or earlier, you will need to add
+    the following code to your ~/.emacs file in order to use Emacs
+    Octave mode:
+<pre>
+      ;; Set up the custom library.
+      ;; taken from http://www.dina.kvl.dk/~abraham/custom/
+      (eval-and-compile
+	(condition-case ()
+	    (require 'custom)
+	  (error nil))
+	(if (and (featurep 'custom) (fboundp 'custom-declare-variable))
+	    nil ;; We've got what we needed
+	  ;; We have the old custom-library, hack around it!
+	  (defmacro defgroup (&rest args)
+	    nil)
+	  (defmacro defcustom (var value doc &rest args)
+	    (` (defvar (, var) (, value) (, doc))))))
+</pre></li>
+</ul>
+
+<h2>Summary of changes for version 2.0.14</h2>
+
+This release fixes numerous bugs and adds the following new features:
+
+<ul>
+<li>argv is now padded with blanks instead of ASCII NUL.</li>
+
+<li>New functions:
+<dl>
+<dt><b>besselh</b></dt>
+Hankel functions of the first and second kind
+<dt><b>airy</b></dt>
+Airy functions of the first and second kind, and
+                  their derivatives
+</dl></li>
+
+<li>The Bessel functions now accept complex values for the argument
+    and any real value for the order.</li>
+
+<li>The value of LOADPATH set by the environment variable
+    OCTAVE_PATH, the -p or --path command line options, or on the
+    command line is no longer modified to include the default path.
+    Instead it is left as specified.  Its default value is now ":",
+    which tells Octave to search the default path, and the new
+    built-in variable DEFAULT_LOADPATH contains the default list of
+    directories to search.  </li>
+
+<li>The function file_in_path no longer does any special processing of
+    its PATH argument.  To search LOADPATH for files, it is now
+    generally better to use the new function file_in_loadpath.</li>
+
+<li>If fread is given a skip parameter, the skip is performed after
+    the read instead of before (for compatibility with Matlab).</li>
+
+<li>The new built-in variable `crash_dumps_octave_core' controls
+    whether Octave writes user variables to the file `octave-core'
+    when it crashes or is killed by a signal.  The default value is 1
+    (0 if you use --traditional).</li>
+
+<li>If LOADPATH contains a doubled colon, the default path is inserted
+    in its place.  This is similar to the substitution that also takes
+    place for leading or trailing colons in the LOADPATH.</li>
+
+<li>Loops of the form `for i = STRING ... endfor' are now allowed.</li>
+
+<li>It is now possible to set the iteration limit for lsode using
+    lsode_options ("step limit", N).</li>
+
+<li>New functions:
+<dl>
+<dt><b>is_complex</b></dt>
+tell whether a value is complex
+<dt><b>isnumeric</b></dt>
+tell whether a value is a numeric object
+<dt><b>isfinite</b></dt>
+find finite elements of a matrix object
+<dt><b>rehash</b></dt>
+re-initialize the cache of directories in LOADPATH
+<dt><b>graw</b></dt>
+send a string to the gnuplot subprocess
+</dl></li>
+
+<li>New functions from Kurt Hornik's Octave-ci package:
+<ul>
+<li>In finance (new directory):
+<dl>
+<dt><b>fv</b></dt>
+<dd>future value of an investment</dd>
+<dt><b>fvl</b></dt>
+<dd>future value of an initial lump sum investment</dd>
+<dt><b>irr</b></dt>
+<dd>internal rate of return of an investment</dd>
+<dt><b>nper</b></dt>
+<dd>number of payments needed for amortizing a loan</dd>
+<dt><b>npv</b></dt>
+<dd>net present value of a series of payments</dd>
+<dt><b>pmt</b></dt>
+<dd>amount of periodic payment needed to amortize a loan</dd>
+<dt><b>pv</b></dt>
+<dd>present value of an investment</dd>
+<dt><b>pvl</b></dt>
+<dd>present value of an investment that pays off at the end</dd>
+<dt><b>rate</b></dt>
+<dd>rate of return of an investment</dd>
+<dt><b>vol</b></dt>
+<dd>volatility of financial time series data</dd>
+</dl></li>
+
+<li>In linear-algebra:
+<dl>
+<dt><b>dmult</b></dt>
+<dd>rescale the rows of a matrix</dd>
+</dl></li>
+
+<li>In signal:
+<dl>
+<dt><b>arch_fit</b></dt>
+<dd>fit an ARCH regression model</dd>
+<dt><b>arch_rnd</b></dt>
+<dd>simulate an ARCH process</dd>
+<dt><b>arch_test</b></dt>
+<dd>test for conditional heteroscedascity</dd>
+<dt><b>arma_rnd</b></dt>
+<dd>simulate an ARMA process</dd>
+<dt><b>autocor</b></dt>
+<dd>compute autocorrelations</dd>
+<dt><b>autocov</b></dt>
+<dd>compute autocovariances</dd>
+<dt><b>autoreg_matrix</b></dt>
+<dd>design matrix for autoregressions</dd>
+<dt><b>bartlett</b></dt>
+<dd>coefficients of the Bartlett (triangular) window</dd>
+<dt><b>blackman</b></dt>
+<dd>coefficients of the Blackman window</dd>
+<dt><b>diffpara</b></dt>
+<dd>estimate the fractional differencing parameter</dd>
+<dt><b>durbinlevinson</b></dt>
+<dd>perform one step of the Durbin-Levinson algorithm</dd>
+<dt><b>fractdiff</b></dt>
+<dd>compute fractional differences</dd>
+<dt><b>hamming</b></dt>
+<dd>coefficients of the Hamming window</dd>
+<dt><b>hanning</b></dt>
+<dd>coefficients of the Hanning window</dd>
+<dt><b>hurst</b></dt>
+<dd>estimate the Hurst parameter</dd>
+<dt><b>periodogram</b></dt>
+<dd>compute the periodogram</dd>
+<dt><b>rectangle_lw</b></dt>
+<dd>rectangular lag window</dd>
+<dt><b>rectangle_sw</b></dt>
+<dd>rectangular spectral window</dd>
+<dt><b>sinetone</b></dt>
+<dd>compute a sine tone</dd>
+<dt><b>sinewave</b></dt>
+<dd>compute a sine wave</dd>
+<dt><b>spectral_adf</b></dt>
+<dd>spectral density estimation</dd>
+<dt><b>spectral_xdf</b></dt>
+<dd>spectral density estimation</dd>
+<dt><b>spencer</b></dt>
+<dd>apply Spencer's 15-point MA filter</dd>
+<dt><b>stft</b></dt>
+<dd>short-term Fourier transform</dd>
+<dt><b>synthesis</b></dt>
+<dd>recover a signal from its short-term Fourier transform</dd>
+<dt><b>triangle_lw</b></dt>
+<dd>triangular lag window</dd>
+<dt><b>triangle_sw</b></dt>
+<dd>triangular spectral window</dd>
+<dt><b>yulewalker</b></dt>
+<dd>fit AR model by Yule-Walker method</dd>
+</dl></li>
+
+<li>In statistics/base (new directory):
+<dl>
+<dt><b>center</b></dt>
+<dd>center by subtracting means</dd>
+<dt><b>cloglog</b></dt>
+<dd>complementary log-log function</dd>
+<dt><b>cor</b></dt>
+<dd>compute correlations</dd>
+<dt><b>cov</b></dt>
+<dd>compute covariances</dd>
+<dt><b>cut</b></dt>
+<dd>cut data into intervals</dd>
+<dt><b>iqr</b></dt>
+<dd>interquartile range</dd>
+<dt><b>kendall</b></dt>
+<dd>kendall's rank correlation tau</dd>
+<dt><b>logit</b></dt>
+<dd>logit transformation</dd>
+<dt><b>mean</b></dt>
+<dd>compute arithmetic, geometric, and harmonic mean</dd>
+<dt><b>meansq</b></dt>
+<dd>compute mean square</dd>
+<dt><b>moment</b></dt>
+<dd>compute moments</dd>
+<dt><b>ppplot</b></dt>
+<dd>perform a PP-plot (probability plot)</dd>
+<dt><b>probit</b></dt>
+<dd>probit transformation</dd>
+<dt><b>qqplot</b></dt>
+<dd>perform a QQ-plot (quantile plot)</dd>
+<dt><b>range</b></dt>
+<dd>compute range</dd>
+<dt><b>ranks</b></dt>
+<dd>compute ranks</dd>
+<dt><b>run_count</b></dt>
+<dd>count upward runs</dd>
+<dt><b>spearman</b></dt>
+<dd>spearman's rank correlation rho</dd>
+<dt><b>statistics</b></dt>
+<dd>compute basic statistics</dd>
+<dt><b>studentize</b></dt>
+<dd>subtract mean and divide by standard deviation</dd>
+<dt><b>table</b></dt>
+<dd>cross tabulation</dd>
+<dt><b>values</b></dt>
+<dd>extract unique elements</dd>
+<dt><b>var</b></dt>
+<dd>compute variance</dd>
+</dl></li>
+
+<li>In statistics/distributions (new directory):
+<dl>
+<dt><b>beta_cdf</b></dt>
+<dd>CDF of the Beta distribution</dd>
+<dt><b>beta_inv</b></dt>
+<dd>Quantile function of the Beta distribution</dd>
+<dt><b>beta_pdf</b></dt>
+<dd>PDF of the Beta distribution</dd>
+<dt><b>beta_rnd</b></dt>
+<dd>Random deviates from the Beta distribution
+</dd>
+<dt><b>binomial_cdf</b></dt>
+<dd>CDF of the binomial distribution</dd>
+<dt><b>binomial_inv</b></dt>
+<dd>Quantile function of the binomial distribution</dd>
+<dt><b>binomial_pdf</b></dt>
+<dd>PDF of the binomial distribution</dd>
+<dt><b>binomial_rnd</b></dt>
+<dd>Random deviates from the binomial distribution
+</dd>
+<dt><b>cauchy_cdf</b></dt>
+<dd>CDF of the Cauchy distribution</dd>
+<dt><b>cauchy_inv</b></dt>
+<dd>Quantile function of the Cauchy distribution</dd>
+<dt><b>cauchy_pdf</b></dt>
+<dd>PDF of the Cauchy distribution</dd>
+<dt><b>cauchy_rnd</b></dt>
+<dd>Random deviates from the Cauchy distribution
+</dd>
+<dt><b>chisquare_cdf</b></dt>
+<dd>CDF of the chi-square distribution</dd>
+<dt><b>chisquare_inv</b></dt>
+<dd>Quantile function of the chi-square distribution</dd>
+<dt><b>chisquare_pdf</b></dt>
+<dd>PDF of the chi-sqaure distribution</dd>
+<dt><b>chisquare_rnd</b></dt>
+<dd>Random deviates from the chi-square distribution
+</dd>
+<dt><b>discrete_cdf</b></dt>
+<dd>CDF of a discrete distribution</dd>
+<dt><b>discrete_inv</b></dt>
+<dd>Quantile function of a discrete distribution</dd>
+<dt><b>discrete_pdf</b></dt>
+<dd>PDF of a discrete distribution</dd>
+<dt><b>discrete_rnd</b></dt>
+<dd>Random deviates from a discrete distribution
+</dd>
+<dt><b>empirical_cdf</b></dt>
+<dd>CDF of the empirical distribution</dd>
+<dt><b>empirical_inv</b></dt>
+<dd>Quantile function of the empirical distribution</dd>
+<dt><b>empirical_pdf</b></dt>
+<dd>PDF of the empirical distribution</dd>
+<dt><b>empirical_rnd</b></dt>
+<dd>Bootstrap samples from the empirical distribution
+</dd>
+<dt><b>exponential_cdf</b></dt>
+<dd>CDF of the exponential distribution</dd>
+<dt><b>exponential_inv</b></dt>
+<dd>Quantile function of the exponential distribution</dd>
+<dt><b>exponential_pdf</b></dt>
+<dd>PDF of the exponential distribution</dd>
+<dt><b>exponential_rnd</b></dt>
+<dd>Random deviates from the exponential distribution
+</dd>
+<dt><b>f_cdf</b></dt>
+<dd>CDF of the F distribution</dd>
+<dt><b>f_inv</b></dt>
+<dd>Quantile function of the F distribution</dd>
+<dt><b>f_pdf</b></dt>
+<dd>PDF of the F distribution</dd>
+<dt><b>f_rnd</b></dt>
+<dd>Random deviates from the F distribution
+</dd>
+<dt><b>gamma_cdf</b></dt>
+<dd>CDF of the Gamma distribution</dd>
+<dt><b>gamma_inv</b></dt>
+<dd>Quantile function of the Gamma distribution</dd>
+<dt><b>gamma_pdf</b></dt>
+<dd>PDF of the Gamma distribution</dd>
+<dt><b>gamma_rnd</b></dt>
+<dd>Random deviates from the Gamma distribution
+</dd>
+<dt><b>geometric_cdf</b></dt>
+<dd>CDF of the geometric distribution</dd>
+<dt><b>geometric_inv</b></dt>
+<dd>Quantile function of the geometric distribution</dd>
+<dt><b>geometric_pdf</b></dt>
+<dd>PDF of the geometric distribution</dd>
+<dt><b>geometric_rnd</b></dt>
+<dd>Random deviates from the geometric distribution
+</dd>
+<dt><b>hypergeometric_cdf</b></dt>
+<dd>CDF of the hypergeometric distribution</dd>
+<dt><b>hypergeometric_inv</b></dt>
+<dd>Random deviates from hypergeometric distribution</dd>
+<dt><b>hypergeometric_pdf</b></dt>
+<dd>PDF of the hypergeometric distribution</dd>
+<dt><b>hypergeometric_rnd</b></dt>
+<dd>Random deviates from hypergeometric distribution
+</dd>
+<dt><b>kolmogorov_smirnov_cdf</b></dt>
+<dd>CDF of the Kolmogorov-Smirnov distribution
+</dd>
+<dt><b>laplace_cdf</b></dt>
+<dd>CDF of the Laplace distribution</dd>
+<dt><b>laplace_inv</b></dt>
+<dd>Quantile function of the Laplace distribution</dd>
+<dt><b>laplace_pdf</b></dt>
+<dd>PDF of the Laplace distribution</dd>
+<dt><b>laplace_rnd</b></dt>
+<dd>Random deviates from the Laplace distribution
+</dd>
+<dt><b>logistic_cdf</b></dt>
+<dd>CDF of the logistic distribution</dd>
+<dt><b>logistic_inv</b></dt>
+<dd>Quantile function of the logistic distribution</dd>
+<dt><b>logistic_pdf</b></dt>
+<dd>PDF of the logistic distribution</dd>
+<dt><b>logistic_rnd</b></dt>
+<dd>Random deviates from the logistic distribution
+</dd>
+<dt><b>lognormal_cdf</b></dt>
+<dd>CDF of the log normal distribution</dd>
+<dt><b>lognormal_inv</b></dt>
+<dd>Quantile function of the log normal distribution</dd>
+<dt><b>lognormal_pdf</b></dt>
+<dd>PDF of the log normal distribution</dd>
+<dt><b>lognormal_rnd</b></dt>
+<dd>Random deviates from the log normal distribution
+</dd>
+<dt><b>normal_cdf</b></dt>
+<dd>CDF of the normal distribution</dd>
+<dt><b>normal_inv</b></dt>
+<dd>Quantile function of the normal distribution</dd>
+<dt><b>normal_pdf</b></dt>
+<dd>PDF of the normal distribution</dd>
+<dt><b>normal_rnd</b></dt>
+<dd>Random deviates from the normal distribution
+</dd>
+<dt><b>pascal_cdf</b></dt>
+<dd>CDF of the Pascal (negative binomial) distribution</dd>
+<dt><b>pascal_inv</b></dt>
+<dd>Quantile function of the Pascal distribution</dd>
+<dt><b>pascal_pdf</b></dt>
+<dd>PDF of the Pascal (negative binomial) distribution</dd>
+<dt><b>pascal_rnd</b></dt>
+<dd>Random deviates from the Pascal distribution
+</dd>
+<dt><b>poisson_cdf</b></dt>
+<dd>CDF of the Poisson distribution</dd>
+<dt><b>poisson_inv</b></dt>
+<dd>Quantile function of the Poisson distribution</dd>
+<dt><b>poisson_pdf</b></dt>
+<dd>PDF of the Poisson distribution</dd>
+<dt><b>poisson_rnd</b></dt>
+<dd>Random deviates from the Poisson distribution
+</dd>
+<dt><b>stdnormal_cdf</b></dt>
+<dd>CDF of the standard normal distribution</dd>
+<dt><b>stdnormal_inv</b></dt>
+<dd>Quantile function of standard normal distribution</dd>
+<dt><b>stdnormal_pdf</b></dt>
+<dd>PDF of the standard normal distribution</dd>
+<dt><b>stdnormal_rnd</b></dt>
+<dd>Random deviates from standard normal distribution
+</dd>
+<dt><b>t_cdf</b></dt>
+<dd>CDF of the t distribution</dd>
+<dt><b>t_inv</b></dt>
+<dd>Quantile function of the t distribution</dd>
+<dt><b>t_pdf</b></dt>
+<dd>PDF of the t distribution</dd>
+<dt><b>t_rnd</b></dt>
+<dd>Random deviates from the t distribution
+</dd>
+<dt><b>uniform_cdf</b></dt>
+<dd>CDF of the uniform distribution</dd>
+<dt><b>uniform_inv</b></dt>
+<dd>Quantile function of the uniform distribution</dd>
+<dt><b>uniform_pdf</b></dt>
+<dd>PDF of the uniform distribution</dd>
+<dt><b>uniform_rnd</b></dt>
+<dd>Random deviates from the uniform distribution
+</dd>
+<dt><b>weibull_cdf</b></dt>
+<dd>CDF of the Weibull distribution</dd>
+<dt><b>weibull_inv</b></dt>
+<dd>Quantile function of the Weibull distribution</dd>
+<dt><b>weibull_pdf</b></dt>
+<dd>PDF of the Weibull distribution</dd>
+<dt><b>weibull_rnd</b></dt>
+<dd>Random deviates from the Weibull distribution
+</dd>
+<dt><b>wiener_rnd</b></dt>
+<dd>Simulate a Wiener process</dd>
+</dl></li>
+
+<li>In statistics/models (new directory):
+<dl>
+<dt><b>logistic_regression</b></dt>
+<dd>ordinal logistic regression</dd>
+<dt><b>logistic_regression_derivatives</b></dt>
+<dd>derivates of log-likelihood
+                                         in logistic regression</dd>
+<dt><b>logistic_regression_likelihood</b></dt>
+<dd>likelihood in logistic regression</dd>
+</dl></li>
+
+<li>In statistics/tests (new directory):
+<dl>
+<dt><b>anova</b></dt>
+<dd>one-way analysis of variance</dd>
+<dt><b>bartlett_test</b></dt>
+<dd>bartlett test for homogeneity of variances</dd>
+<dt><b>chisquare_test_homogeneity</b></dt>
+<dd>chi-square test for homogeneity</dd>
+<dt><b>chisquare_test_independence</b></dt>
+<dd>chi-square test for independence</dd>
+<dt><b>cor_test</b></dt>
+<dd>test for zero correlation</dd>
+<dt><b>f_test_regression</b></dt>
+<dd>test linear hypotheses in linear
+                                     regression model</dd>
+<dt><b>hotelling_test</b></dt>
+<dd>test for mean of a multivariate normal</dd>
+<dt><b>hotelling_test_2</b></dt>
+<dd>compare means of two multivariate normals</dd>
+<dt><b>kolmogorov_smirnov_test</b></dt>
+<dd>one-sample Kolmogorov-Smirnov test</dd>
+<dt><b>kolmogorov_smirnov_test_2</b></dt>
+<dd>two-sample Kolmogorov-Smirnov test</dd>
+<dt><b>kruskal_wallis_test</b></dt>
+<dd>kruskal-Wallis test</dd>
+<dt><b>manova</b></dt>
+<dd>one-way multivariate analysis of variance</dd>
+<dt><b>mcnemar_test</b></dt>
+<dd>mcnemar's test for symmetry</dd>
+<dt><b>prop_test_2</b></dt>
+<dd>compare two proportions</dd>
+<dt><b>run_test</b></dt>
+<dd>run test for independence</dd>
+<dt><b>sign_test</b></dt>
+<dd>sign test</dd>
+<dt><b>t_test</b></dt>
+<dd>student's one-sample t test </dd>
+<dt><b>t_test_2</b></dt>
+<dd>student's two-sample t test</dd>
+<dt><b>t_test_regression</b></dt>
+<dd>test one linear hypothesis in linear
+                                     regression model</dd>
+<dt><b>u_test</b></dt>
+<dd>mann-Whitney U-test</dd>
+<dt><b>var_test</b></dt>
+<dd>f test to compare two variances</dd>
+<dt><b>welch_test</b></dt>
+<dd>welch two-sample t test</dd>
+<dt><b>wilcoxon_test</b></dt>
+<dd>wilcoxon signed-rank test</dd>
+<dt><b>z_test</b></dt>
+<dd>test for mean of a normal sample with
+                                     known variance</dd>
+<dt><b>z_test_2</b></dt>
+<dd>compare means of two normal samples with
+                                     known variances</dd>
+</dl></li>
+</ul></li>
+
+<li>The save command now accepts the option -append to save the
+    variables at the end of the file, leaving the existing contents.</li>
+
+<li>New command-line option --no-history (also available using the
+    single character option -H) inhibits saving command history.</li>
+
+<li>The mkoctfile script now accepts -DDEF options and passes them on
+    to the C and C++ compilers.</li>
+</ul
+>
+<h2>Summary of changes for version 2.0.13</h2>
+
+<p>This is a bug-fixing release.  There are no new user-visible features.</p>
+
+<h2>Summary of changes for version 2.0.12</h2>
+
+<ul>
+<li>Tilde expansion is once again performed on the directories listed
+    in the LOADPATH variable.</li>
+
+<li>gplot now supports the `axes' qualifier that is new with gnuplot
+    3.6beta.</li>
+
+<li>Timestamps on .m and .oct files are now only checked if a prompt
+    has been printed since the last timestamp check.</li>
+
+<li>Octave now prints a warning if a .m or .oct file has a time stamp
+    in the future.</li>
+
+<li>For matrices, x(:) now works no matter what the value of
+    do_fortran_indexing is.</li>
+
+<li>New keywords __FILE__ and __LINE__ expand to the name of the file
+    that is being read and the current input line number, respectively.</li>
+
+<li>The GNU Info reader is no longer distributed with Octave because
+    current releases of GNU Info now support all the features needed
+    by Octave.  If your copy of GNU Info doesn't support the
+    --index-search option, you should install a newer version of GNU
+    Info, which is distributed as part of the GNU Texinfo package.</li>
+
+<li>Running `make check' should work now before you run `make install',
+    even if you build a copy of Octave that depends on shared versions
+    of the Octave libraries.</li>
+
+<li>Octave now uses kpathsea 3.2.</li>
+
+<li>The new built-in variable `kluge_procbuf_delay' specifies the number
+    of microseconds to delay in the parent process after forking.  By
+    default on gnu-win32 systems, it's set to 500000 (1/2 second).  On
+    other systems, the default value is 0.  Delaying for a short time
+    in the parent after forking seems to avoid problems in which
+    communicating with subprocesses via pipes would sometimes cause
+    Octave to hang.  I doubt that the delay is really the right
+    solution.  If anyone has a better idea, I'd love to hear it.</li>
+</ul>
+
+<h2>Summary of changes for version 2.0.11</h2>
+
+<ul>
+<li>There are two new built-in variables that control how global
+    variables are initialized.  If `initialize_global_variables' is
+    nonzero, global variables are initialized to the value of the
+    variable `default_global_variable_value'.  The default value of
+    `initialize_global_variables' is 0 (1 if you use --traditional)
+    and `default_global_variable_value' is undefined (the empty matrix
+    if you use --traditional).  The default settings are compatible
+    with versions of Octave before 2.0.10.</li>
+</ul>
+
+<h2>Summary of changes for version 2.0.10</h2>
+
+<ul>
+<li>The built-in variable `PWD' has been removed.  If you need to get
+    the value of the current working directory, use the pwd() function
+    instead.</li>
+<li>For compatibility with Matlab, Octave's lyap function now solves
+<pre>
+      A*X + X*A' + C = 0
+</pre>
+    instead of
+<pre>
+      A'*X + X*A + C = 0
+</pre>
+    To try to avoid confusion for people who are used to the way
+    Octave behaved in previous versions, a warning is printed the
+    first time lyap is called in a given session.  To completely
+    disable the warning, simply add
+<pre>
+      global __disable_lyap_interface_change_warning__;
+</pre>
+    to your ~/.octaverc file.  The warning will eventually disappear
+    for good in some future version of Octave.</li>
+<li>New built-in functions for computing Bessel functions:
+    besseli, besselj, besselk, and bessely.</li>
+<li>The gammai and betai functions are now implemented as built-in
+    functions rather than function files.</li>
+<li>The new built-in variable `implicit_num_to_str_ok' controls
+    whether Octave converts expressions like `[97, 98, 99, "123"]' to
+    strings.  The default value is 0 unless you use --traditional.</li>
+<li>The new built-in variable `fixed_point_format' controls whether
+    Octave uses a scaled fixed-point format for displaying matrices.
+    The default value is 0 unless you use --traditional.</li>
+<li>The function sumsq now computes sum (x .* conj (x)) for complex values.</li>
+<li>Dynamically linked functions can be cleared.</li>
+<li>If a .oct file has a time stamp more recent than the time that it
+    was loaded, it is automatically reloaded.  Reloading a .oct file
+    may cause several functions to be cleared automatically.  By
+    default, a warning is printed that lists the names of the
+    functions that will be cleared.  You can suppress the message by
+    setting the new built-in variable `warn_reload_forces_clear' to 0.</li>
+<li>Global variables are now initialized to the empty matrix, for
+    compatibility with Matlab.</li>
+<li>Explicit initialization of global variables only happens once.
+    For example, after the following statements are evaluated, g still
+    has the value 1.
+<pre>
+      global g = 1
+      global g = 2
+</pre>
+    This is useful for initializing global variables that are used to
+    maintain state information that is shared among several functions.</li>
+<li>The new built-in variable max_recursion_depth allows you to
+    prevent Octave from attempting infinite recursion.  The default
+    value is 256.</li>
+<li>Octave now uses readline version 2.1 and kpathsea 3.0.</li>
+<li>The libreadline and libkpathsea libraries are no longer installed.</li>
+<li>The libcruft, liboctave, and liboctinterp libraries are now
+    installed in $libdir/octave instead of just $libdir.</li>
+<li>It's no longer necessary to have libg++, but you do need to have
+    the GNU implementation of libstdc++.  If you are using gcc 2.7.2,
+    libstdc++ is distributed as part of libg++ 2.7.2.  For later
+    versions, libstdc++ is distributed separately.  For egcs,
+    libstdc++ is included with the compiler distribution.</li>
+</ul>
+
+<h2>Summary of changes for version 2.0.9</h2>
+
+<p>This is a bug-fixing release, but there is one new user-visible
+feature:</p>
+
+<ul>
+<li>It is now possible to specify a label for lines in the plot key
+    when using the plot function.  For example,
+<pre>
+      plot (x, y, "-*;sin(x);")
+</pre>
+    plots y vs. x using the linespoints style and sets the title of
+    the line in the key to be `sin(x)'</li>
+</ul>
+
+<h2>Summary of changes for version 2.0.8</h2>
+
+<p>This is a bug-fixing release.  There are only a few new user-visible
+features.</p>
+
+<ul>
+<li>If the argument to eig() is symmetric, Octave uses the specialized
+    Lapack subroutine for symmetric matrices for a significant
+    increase in performance.</li>
+<li>It is now possible to use the mkoctfile script to create .oct
+    files from multiple source and object files.</li>
+</ul>
+
+<h2>Summary of changes for version 2.0.7</h2>
+
+<p>This is a bug-fixing release.  There are no new user-visible features.</p>
+
+<h2>Summary of changes for version 2.0.6</h2>
+
+<p>This is primarily a bug-fixing release.  There are only a few new
+user-visilbe features.</p>
+
+<ul>
+<li>The new built-in variable default_eval_print_flag controls whether
+    Octave prints the results of commands executed by eval() that do
+    not end with semicolons.  The default is 1.</li>
+<li>The new built-in constant OCTAVE_HOME specifies the top-level
+    directory where Octave is installed.</li>
+<li>Octave no longer includes functions to work with NPSOL or QPSOL,
+    because they are not free software.</li>
+</ul>
+
+<h2>Summary of changes for version 2.0.5</h2>
+
+<ul>
+<li>A `switch' statement is now available.  See the Statements chapter
+    in the manual for details.</li>
+<li>Commands like ls, save, and cd may now also be used as formal
+    parameters for functions.</li>
+<li>More tests.</li>
+</ul>
+
+<h2>Summary of changes for version 2.0.4</h2>
+
+<ul>
+<li>It is now possible to use commands like ls, save, and cd as simple
+    variable names.  They still cannot be used as formal parameters
+    for functions, or as the names of structure variables.  Failed
+    assignments leave them undefined (you can recover the orginal
+    function definition using clear).</li>
+<li>Is is now possible to invoke commands like ls, save, and cd as
+    normal functions (for example, load ("foo", "x", "y", "z")).</li>
+</ul>
+
+<h2>Summary of changes for version 2.0.3</h2>
+
+<ul>
+<li>The manual has been completely revised and now corresponds much
+    more closely to the features of the current version.</li>
+<li>The return value for assignment expressions is now the RHS since
+    that is more consistent with the way other programming languages
+    work.  However, Octave still prints the entire LHS value so that
+<pre>
+      x = zeros (1, 2);
+      x(2) = 1
+</pre>
+    still prints
+<pre>
+      x =
+
+        0  1
+
+</pre>
+    but an assignment like
+<pre>
+      z = x(2) = 1
+</pre>
+    sets z to 1 (not [ 0, 1 ] as in previous versions of Octave).</li>
+<li>It is now much easier to make binary distributions.  See the
+    Binary Distributions section of the manual for more details.</li>
+</ul>
+
+<h2>Summary of changes for version 2.0.2</h2>
+
+<ul></li>
+<li>Octave now stops executing commands from a script file if an error
+    is encountered.</li>
+<li>The return, and break commands now cause Octave to quit executing
+    commands from script files.  When used in invalid contexts, the
+    break, continue, and return commands are now simply ignored
+    instead of producing parse errors.</li>
+<li>size ("") is now [0, 0].</li>
+<li>New functions:
+<dl>
+<dt><b>sleep</b></dt>
+<dd>pause execution for a specified number of seconds</dd>
+<dt><b>usleep</b></dt>
+<dd>pause execution for a specified number of microseconds</dd>
+</dl></li>
+</ul>
+</pre>
+
+<h2>Summary of changes for version 2.0.1</h2>
+
+<p>Other than bug fixes, there were no user-visible changes in version
+2.0.1.
+
+<h2>Summary of changes for version 2.0</h2>
+
+<p><ul>
+<li>The set and show commands for setting and displaying gnuplot
+    parameters have been replaced by gset and gshow.  This change will
+    probably break lots of things, but it is necessary to allow for
+    compatibility with the Matlab graphics and GUI commands in a
+    future version of Octave.  (For now, the old set and show commands
+    do work, but they print an annoying warning message to try to get
+    people to switch to using gset.)</li>
+<li>Octave has been mostly ported to Windows NT and Windows 95 using
+    the beta 17 release of the Cygnus GNU-WIN32 tools.  Not everything
+    works, but it is usable.  See the file README.WINDOWS for more
+    information.</li>
+<li>Dynamic linking works on more systems using dlopen() and friends
+    (most modern Unix systems) or shl_load() and friends (HP/UX
+    systems).  A simple example is provided in examples/hello.cc.
+    For this feature to work, you must configure Octave with
+    --enable-shared.  You may also need to have a shared-library
+    version of libg++ and libstdc++.</li>
+<li>New data types can be added to Octave by writing a C++ class.  On
+    systems that support dynamic linking, new data types can be added
+    to an already running Octave binary.  A simple example appears in
+    the file examples/make_int.cc.  Other examples are the standard
+    Octave data types defined in the files src/ov*.{h,cc} and
+    src/op-*.cc.</li>
+<li>The configure option --enable-bounds-check turns on bounds
+    checking on element references for Octave's internal array and
+    matrix classes.  It's enabled by default.  To disable this
+    feature, configure Octave with --disable-bounds-check.</li>
+<li>The C-style I/O functions (fopen, fprintf, etc.) have been
+    rewritten to be more compatible with Matlab.  The fputs function
+    has also been added.  Usage of the *printf functions that was
+    allowed in previous versions of Octave should still work.
+    However, there is no way to make the new versions of the *scanf
+    functions compatible with Matlab *and* previous versions of
+    Octave.  An optional argument to the *scanf functions is now
+    available to make them behave in a way that is compatible with
+    previous versions of Octave.</li>
+<li>Octave can now read files that contain columns of numbers only,
+    with no header information.  The name of the loaded variable is
+    constructed from the file name.  Each line in the file must have
+    the same number of elements.</li>
+<li>The interface to the pager has changed.  The new built-in variable
+    `page_output_immediately' controls when Octave sends output to the
+    pager.  If it is nonzero, Octave sends output to the pager as soon
+    as it is available.  Otherwise, Octave buffers its output and
+    waits until just before the prompt is printed to flush it to the
+    pager.</li>
+<li>Expressions of the form
+<pre>
+      A(i,j) = x
+</pre>
+    where X is a scalar and the indices i and j define a matrix of
+    elements now work as you would expect rather than giving an error.
+    I am told that this is how Matlab 5.0 will behave when it is
+    released.</li>
+<li>Indexing of character strings now works.</li>
+<li>The echo command has been implemented.</li>
+<li>The document command is now a regular function.</li>
+<li>New method for handling errors:
+<pre>
+      try
+        BODY
+      catch
+        CLEANUP
+      end_try_catch
+</pre>
+    Where BODY and CLEANUP are both optional and may contain any
+    Octave expressions or commands.  The statements in CLEANUP are
+    only executed if an error occurs in BODY.
+
+<p> No warnings or error messages are printed while BODY is
+    executing.  If an error does occur during the execution of BODY,
+    CLEANUP can access the text of the message that would have been
+    printed in the builtin constant __error_text__.  This is the same
+    as eval (TRY, CATCH) (which may now also use __error_text__) but
+    it is more efficient since the commands do not need to be parsed
+    each time the TRY and CATCH statements are evaluated.</li>
+<li>Octave no longer parses the help command by grabbing everything
+    after the keyword `help' until a newline character is read.  To
+    get help for `;' or `,', now, you need to use the command
+    `help semicolon' or `help comma'.</li>
+<li>Octave's parser now does some simple constant folding.  This means
+    that expressions like 3*i are now evaluated only once, when a
+    function is compiled, and the right hand side of expressions like
+    a = [1,2;3,4] are treated as true matrix constants rather than
+    lists of elements which must be evaluated each time they are
+    needed.</li>
+<li>Built-in variables that can take values of "true" and "false" can
+    now also be set to any nonzero scalar value to indicate "true",
+    and 0 to indicate "false".</li>
+<li>New built-in variables `history_file', `history_size', and
+    `saving_history'.</li>
+<li>New built-in variable `string_fill_char' specifies the character
+    to fill with when creating arrays of strings.</li>
+<li>If the new built-in variable `gnuplot_has_frames' is nonzero,
+    Octave assumes that your copy of gnuplot includes support for
+    multiple plot windows when using X11.
+
+    If the new built-in variable `gnuplot_has_multiplot' is nonzero,
+    Octave assumes that your copy of gnuplot has the multiplot support
+    that is included in recent 3.6beta releases.
+
+    The initial values of these variables are determined by configure,
+    but can be changed in your startup script or at the command line
+    in case configure got it wrong, or if you upgrade your gnuplot
+    installation.</li>
+<li>The new plot function `figure' allows multiple plot windows when
+    using newer versions of gnuplot with X11.</li>
+<li>Octave now notices when the plotter has exited unexpectedly.</li>
+<li>New built-in variable `warn_missing_semicolon'.  If nonzero, Octave
+    will warn when statements in function definitions don't end in
+    semicolons.  The default value is 0.</li>
+<li>Octave now attempts to continue after floating point exceptions
+    or out-of-memory errors.</li>
+<li>If Octave crashes, it now attempts to save all user-defined
+    variables in a file named `octave-core' in the current directory
+    before exiting.</li>
+<li>It is now possible to get the values of individual option settings
+    for the dassl, fsolve, lsode, npsol, qpsol, and quad functions
+    using commands like
+<pre>
+      dassl_reltol = dassl_options ("relative tolerance");
+</pre></li>
+<li>The svd() function no longer computes the left and right singular
+    matrices unnecessarily.  This can significantly improve
+    performance for large matrices if you are just looking for the
+    singular values.</li>
+<li>The filter() function is now a built-in function.</li>
+<li>New function randn() returns a pseudo-random number from a normal
+    distribution.  The rand() and randn() functions have separate
+    seeds and generators.</li>
+<li>Octave's command-line arguments are now available in the built-in
+    variable `argv'.  The program name is also available in the
+    variables `program_invocation_name' and `program_name'.  If
+    executing a script from the command line (e.g., octave foo.m) or
+    using the `#! /bin/octave' hack, the program name is set to the
+    name of the script.</li>
+<li>New built-in variable `completion_append_char' used as the
+    character to append to successful command-line completion
+    attempts.  The default is " " (a single space).</li>
+<li>Octave now uses a modified copy of the readline library from
+    version 1.14.5 of GNU bash.</li>
+<li>In prompt strings, `\H' expands to the whole host name.</li>
+<li>New built-in variable `beep_on_error'.  If nonzero, Octave will try
+    to ring your terminal's bell before printing an error message.
+    The default value is 0.</li>
+<li>For functions defined from files, the type command now prints the
+    text of the file.  You can still get the text reconstructed from
+    the parse tree by using the new option -t (-transformed).</li>
+<li>New command-line argument --traditional sets the following
+    preference variables for compatibility with Matlab:
+<pre>
+      PS1                           = ">> "
+      PS2                           = ""
+      beep_on_error                 = 1
+      default_save_format           = "mat-binary"
+      define_all_return_values      = 1
+      do_fortran_indexing           = 1
+      empty_list_elements_ok        = 1
+      implicit_str_to_num_ok        = 1
+      ok_to_lose_imaginary_part     = 1
+      page_screen_output            = 0
+      prefer_column_vectors         = 0
+      prefer_zero_one_indexing      = 1
+      print_empty_dimensions        = 0
+      treat_neg_dim_as_zero         = 1
+      warn_function_name_clash      = 0
+      whitespace_in_literal_matrix  = "traditional"
+</pre></li>
+<li>New functions:
+<dl>
+<dt><b>readdir</b></dt>
+<dd>returns names of files in directory as array of strings</dd>
+<dt><b>mkdir</b></dt>
+<dd>create a directory</dd>
+<dt><b>rmdir</b></dt>
+<dd>remove a directory</dd>
+<dt><b>rename</b></dt>
+<dd>rename a file</dd>
+<dt><b>unlink</b></dt>
+<dd>delete a file</dd>
+<dt><b>umask</b></dt>
+<dd>set permission mask for file creation</dd>
+<dt><b>stat</b></dt>
+<dd>get information about a file</dd>
+<dt><b>lstat</b></dt>
+<dd>get information about a symbolic link</dd>
+<dt><b>glob</b></dt>
+<dd>perform filename globbing</dd>
+<dt><b>fnmatch</b></dt>
+<dd>match strings with filename globbing patterns</dd>
+<dt><b>more</b></dt>
+<dd>turn the pager on or off</dd>
+<dt><b>gammaln</b></dt>
+<dd>alias for lgamma</dd>
+</dl></li>
+<li>New audio functions from Andreas Weingessel:
+<dl>
+<dt><b>lin2mu</b></dt>
+<dd>linear to mu-law encoding</dd>
+<dt><b>loadaudio</b></dt>
+<dd>load an audio file to a vector</dd>
+<dt><b>mu2lin</b></dt>
+<dd>mu-law to linear encoding</dd>
+<dt><b>playaudio</b></dt>
+<dd>play an audio file</dd>
+<dt><b>record</b></dt>
+<dd>record sound and store in vector</dd>
+<dt><b>saveaudio</b></dt>
+<dd>save a vector as an audio file</dd>
+<dt><b>setaudio</b></dt>
+<dd>executes mixer shell command</dd>
+</dl></li>
+<li>New plotting functions from Vinayak Dutt.  Ones dealing with
+    multiple plots on one page require features from gnuplot 3.6beta
+    (or later).
+<dl>
+<dt><b>bottom_title</b></dt>
+<dd>put title at the bottom of the plot</dd>
+<dt><b>mplot</b></dt>
+<dd>multiplot version of plot</dd>
+<dt><b>multiplot</b></dt>
+<dd>switch multiple-plot mode on or off</dd>
+<dt><b>oneplot</b></dt>
+<dd>return to one plot per page</dd>
+<dt><b>plot_border</b></dt>
+<dd>put a border around plots</dd>
+<dt><b>subplot</b></dt>
+<dd>position multiple plots on a single page</dd>
+<dt><b>subwindow</b></dt>
+<dd>set subwindow position for next plot</dd>
+<dt><b>top_title</b></dt>
+<dd>put title at the top of the plot</dd>
+<dt><b>zlabel</b></dt>
+<dd>put a label on the z-axis</dd>
+</dl></li>
+<li>New string functions
+<dl>
+<dt><b>bin2dec</b></dt>
+<dd>convert a string of ones and zeros to an integer</dd>
+<dt><b>blanks</b></dt>
+<dd>create a string of blanks</dd>
+<dt><b>deblank</b></dt>
+<dd>delete trailing blanks</dd>
+<dt><b>dec2bin</b></dt>
+<dd>convert an integer to a string of ones and zeros</dd>
+<dt><b>dec2hex</b></dt>
+<dd>convert an integer to a hexadecimal string</dd>
+<dt><b>findstr</b></dt>
+<dd>locate occurrences of one string in another</dd>
+<dt><b>hex2dec</b></dt>
+<dd>convert a hexadecimal string to an integer</dd>
+<dt><b>index</b></dt>
+<dd>return position of first occurrence a string in another</dd>
+<dt><b>rindex</b></dt>
+<dd>return position of last occurrence a string in another</dd>
+<dt><b>split</b></dt>
+<dd>divide one string into pieces separated by another</dd>
+<dt><b>str2mat</b></dt>
+<dd>create a string matrix from a list of strings</dd>
+<dt><b>strrep</b></dt>
+<dd>replace substrings in a string</dd>
+<dt><b>substr</b></dt>
+<dd>extract a substring</dd>
+</dl>
+<p>    The following functions return a matrix of ones and zeros.
+    Elements that are nonzero indicate that the condition was true for
+    the corresponding character in the string array.
+<dl>
+<dt><b>isalnum</b></dt>
+<dd>letter or a digit</dd>
+<dt><b>isalpha</b></dt>
+<dd>letter</dd>
+<dt><b>isascii</b></dt>
+<dd>ascii</dd>
+<dt><b>iscntrl</b></dt>
+<dd>control character</dd>
+<dt><b>isdigit</b></dt>
+<dd>digit</dd>
+<dt><b>isgraph</b></dt>
+<dd>printable (but not space character)</dd>
+<dt><b>islower</b></dt>
+<dd>lower case</dd>
+<dt><b>isprint</b></dt>
+<dd>printable (including space character)</dd>
+<dt><b>ispunct</b></dt>
+<dd>punctuation</dd>
+<dt><b>isspace</b></dt>
+<dd>whitespace</dd>
+<dt><b>isupper</b></dt>
+<dd>upper case</dd>
+<dt><b>isxdigit</b></dt>
+<dd>hexadecimal digit</dd>
+</dl>
+<p>    These functions return new strings.
+<dl>
+<dt><b>tolower</b></dt>
+<dd>convert to lower case</dd>
+<dt><b>toupper</b></dt>
+<dd>convert to upper case</dd>
+</dl></li>
+<li>New function, fgetl.  Both fgetl and fgets accept an optional
+    second argument that specifies a maximum number of characters to
+    read, and the function fgets is now compatible with Matlab.</li>
+<li>Printing in hexadecimal format now works (format hex).  It is also
+    possible to print the internal bit representation of a value
+    (format bit).  Note that these formats are only implemented for
+    numeric values.</li>
+<li>Additional structure features:
+<ul>
+<li>Name completion now works for structures.</li>
+<li>Values and names of structure elements are now printed by
+    default.  The new built-in variable `struct_levels_to_print'
+    controls the depth of nested structures to print.  The default
+    value is 2.</li>
+<li>New functions:
+<dl>
+<dt><b>struct_contains (S, NAME)</b></dt>
+<dd>returns 1 if S is a structure with element NAME; otherwise returns 0.</dd>
+<dt><b>struct_elements (S)</b></dt>
+<dd>returns the names of all elements of structure S in an array of
+    strings.</dd>
+</dl></li>
+</ul></li>
+<li>New io/subprocess functions:
+<dl>
+<dt><b>fputs</b></dt>
+<dd>write a string to a file with no formatting</dd>
+<dt><b>popen2</b></dt>
+<dd>start a subprocess with 2-way communication</dd>
+<dt><b>mkfifo</b></dt>
+<dd>create a FIFO special file</dd>
+<dt><b>popen</b></dt>
+<dd>open a pipe to a subprocess</dd>
+<dt><b>pclose</b></dt>
+<dd>close a pipe from a subprocess</dd>
+<dt><b>waitpid</b></dt>
+<dd>check the status of or wait for subprocesses</dd>
+</dl></li>
+<li>New time functions:
+<dl>
+<dt><b>asctime</b></dt>
+<dd>format time structure according to local format</dd>
+<dt><b>ctime</b></dt>
+<dd>equivalent to `asctime (localtime (TMSTRUCT))'</dd>
+<dt><b>gmtime</b></dt>
+<dd>return time structure corresponding to UTC</dd>
+<dt><b>localtime</b></dt>
+<dd>return time structure corresponding to local time zone</dd>
+<dt><b>strftime</b></dt>
+<dd>print given time structure using specified format</dd>
+<dt><b>time</b></dt>
+<dd>return current time</dd>
+</dl>
+<p>    The `clock' and `date' functions are now implemented in M-files
+    using these basic functions.</li>
+<li>Access to additional Unix system calls:
+<dl>
+<dt><b>dup2</b></dt>
+<dd>duplicate a file descriptor</dd>
+<dt><b>exec</b></dt>
+<dd>replace current process with a new process</dd>
+<dt><b>fcntl</b></dt>
+<dd>control open file descriptors</dd>
+<dt><b>fork</b></dt>
+<dd>create a copy of the current process</dd>
+<dt><b>getpgrp</b></dt>
+<dd>return the process group id of the current process</dd>
+<dt><b>getpid</b></dt>
+<dd>return the process id of the current process</dd>
+<dt><b>getppid</b></dt>
+<dd>return the process id of the parent process</dd>
+<dt><b>getuid</b></dt>
+<dd>return the real user id of the current process</dd>
+<dt><b>getgid</b></dt>
+<dd>return the real group id of the current process</dd>
+<dt><b>geteuid</b></dt>
+<dd>return the effective user id of the current process</dd>
+<dt><b>getegid</b></dt>
+<dd>return the effective group id of the current process</dd>
+<dt><b>pipe</b></dt>
+<dd>create an interprocess channel</dd>
+</dl></li>
+<li>Other new functions:
+<dl>
+<dt><b>commutation_matrix</b></dt>
+<dd>compute special matrix form</dd>
+<dt><b>duplication_matrix</b></dt>
+<dd>compute special matrix form</dd>
+<dt><b>common_size.m</b></dt>
+<dd>bring arguments to a common size</dd>
+<dt><b>completion_matches</b></dt>
+<dd>perform command completion on string</dd>
+<dt><b>tilde_expand</b></dt>
+<dd>perform tilde expansion on string</dd>
+<dt><b>meshgrid</b></dt>
+<dd>compatible with Matlab's meshgrid function</dd>
+<dt><b>tmpnam</b></dt>
+<dd>replaces octave_tmp_file_name</dd>
+<dt><b>atexit</b></dt>
+<dd>register functions to be called when Octave exits</dd>
+<dt><b>putenv</b></dt>
+<dd>define an environment variable</dd>
+<dt><b>bincoeff</b></dt>
+<dd>compute binomial coefficients</dd>
+<dt><b>nextpow2</b></dt>
+<dd>compute the next power of 2 greater than a number</dd>
+<dt><b>detrend</b></dt>
+<dd>remove a best fit polynomial from data</dd>
+<dt><b>erfinv</b></dt>
+<dd>inverse error function</dd>
+<dt><b>shift</b></dt>
+<dd>perform a circular shift on the elements of a matrix</dd>
+<dt><b>pow2</b></dt>
+<dd>compute 2 .^ x</dd>
+<dt><b>log2</b></dt>
+<dd>compute base 2 logarithms</dd>
+<dt><b>diff</b></dt>
+<dd>compute differences of matrix elements</dd>
+<dt><b>vech</b></dt>
+<dd>stack columns of a matrix below the diagonal</dd>
+<dt><b>vec</b></dt>
+<dd>stack columns of a matrix to form a vector</dd>
+<dt><b>xor</b></dt>
+<dd>compute exclusive or</dd>
+</dl></li>
+<li>Functions for getting info from the password database on Unix systems:
+<dl>
+<dt><b>getpwent</b></dt>
+<dd>read entry from password-file stream, opening if necessary</dd>
+<dt><b>getpwuid</b></dt>
+<dd>search for password entry with matching user ID</dd>
+<dt><b>getpwnam</b></dt>
+<dd>search for password entry with matching username</dd>
+<dt><b>setpwent</b></dt>
+<dd>rewind the password-file stream</dd>
+<dt><b>endpwent</b></dt>
+<dd>close the password-file stream</dd>
+</dl></li>
+<li>Functions for getting info from the group database on Unix systems:
+<dl>
+<dt><b>getgrent</b></dt>
+<dd>read entry from group-file stream, opening if necessary</dd>
+<dt><b>getgrgid</b></dt>
+<dd>search for group entry with matching group ID</dd>
+<dt><b>getgrnam</b></dt>
+<dd>search for group entry with matching group name</dd>
+<dt><b>setgrent</b></dt>
+<dd>rewind the pgroup-file stream</dd>
+<dt><b>endgrent</b></dt>
+<dd>close the group-file stream</dd>
+</dl></li>
+<li>The New function octave_config_info returns a structure containing
+    information about how Octave was configured and compiled.</li>
+<li>New function getrusage returns a structure containing system
+    resource usage statistics.  The `cputime' function is now defined
+    in an M-file using getrusage.</li>
+<li>The info reader is now a separate binary that runs as a
+    subprocess.  You still need the info reader distributed with
+    Octave though, because there are some new command-line arguments
+    that are not yet available in the public release of Info.</li>
+<li>There is a new built-in variable, INFO_PROGRAM, which is used as
+    the name of the info program to run.  Its initial value is
+    $OCTAVE_HOME/lib/octave/VERSION/exec/ARCH/info, but that value can
+    be overridden by the environment variable OCTAVE_INFO_PROGRAM, or
+    the command line argument --info-program NAME, or by setting the
+    value of INFO_PROGRAM in a startup script.</li>
+<li>There is a new built-in variable, EXEC_PATH, which is used as
+    the list of directories to search when executing subprograms.  Its
+    initial value is taken from the environment variable
+    OCTAVE_EXEC_PATH (if it exists) or PATH, but that value can be
+    overridden by the the command line argument --exec-path PATH, or
+    by setting the value of EXEC_PATH in a startup script.  If the
+    EXEC_PATH begins (ends) with a colon, the directories
+    $OCTAVE_HOME/lib/octave/VERSION/exec/ARCH and $OCTAVE_HOME/bin are
+    prepended (appended) to EXEC_PATH (if you don't specify a value
+    for EXEC_PATH explicitly, these special directories are prepended
+    to your PATH).</li>
+<li>If it is present, Octave will now use an `ls-R' database file to
+    speed up recursive path searching.  Octave looks for a file called
+    ls-R in the directory specified by the environment variable
+    OCTAVE_DB_DIR.  If that is not set but the environment variable
+    OCTAVE_HOME is set, Octave looks in $OCTAVE_HOME/lib/octave.
+    Otherwise, Octave looks in the directory $datadir/octave (normally
+    /usr/local/lib/octave).</li>
+<li>New examples directory.</li>
+<li>There is a new script, mkoctfile, that can be used to create .oct
+    files suitable for dynamic linking.</li>
+<li>Many more bug fixes.</li>
+<li>ChangeLogs are now kept in each subdirectory.</li></li>
+</ul>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/NEWS-3.2.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,408 @@
+---
+layout: page
+title: GNU Octave Version 3.2
+menu: false
+permalink: NEWS-3.2.html
+---
+
+## Summary of important user-visible changes
+
+June 5, 2009
+
+{% include release_news_select.md %}
+
+<pre>
+ ** Compatibility with Matlab graphics has been improved.
+
+    The hggroup object and associated listener callback functions have
+    been added allowing the inclusion of group objects.  Data sources
+    have been added to these group objects such that
+
+           x = 0:0.1:10;
+           y = sin (x);
+           plot (x, y, "ydatasource", "y");
+           for i = 1 : 100
+             pause(0.1)
+             y = sin (x + 0.1 * i);
+             refreshdata();
+           endfor
+
+    works as expected.  This capability has be used to introduce
+    stem-series, bar-series, etc., objects for better Matlab
+    compatibility.
+
+ ** New graphics functions:
+
+      addlistener         ezcontour   gcbo         refresh
+      addproperty         ezcontourf  ginput       refreshdata
+      allchild            ezmesh      gtext        specular
+      available_backends  ezmeshc     intwarning   surfl
+      backend             ezplot      ishghandle   trisurf
+      cla                 ezplot3     isocolors    waitforbuttonpress
+      clabel              ezpolar     isonormals
+      comet               ezsurf      isosurface
+      dellistener         findall     linkprop
+      diffuse             gcbf        plotmatrix
+
+ ** New experimental OpenGL/FLTK based plotting system.
+
+    An experimental plotting system based on OpenGL and the FLTK
+    toolkit is now part of Octave.  This backend is disabled by
+    default.  You can switch to using it with the command
+
+        backend ("fltk")
+
+    for all future figures or for a particular figure with the command
+
+        backend (h, "fltk")
+
+    where "h" is a valid figure handle.  Please note that this backend
+    does not yet support text objects.  Obviously, this is a necessary
+    feature before it can be considered usable.  We are looking for
+    volunteers to help implement this missing feature.
+
+ ** Functions providing direct access to gnuplot have been removed.
+
+    The functions __gnuplot_plot__, __gnuplot_set__, __gnuplot_raw__,
+     __gnuplot_show__, __gnuplot_replot__, __gnuplot_splot__,
+     __gnuplot_save_data__ and __gnuplot_send_inline_data__ have been
+     removed from Octave.  These function were incompatible with the
+     high level graphics handle code.
+
+ ** The Control, Finance and Quaternion functions have been removed.
+
+    These functions are now available as separate packages from
+
+      http://octave.sourceforge.net/packages.html
+
+    and can be reinstalled using the Octave package manager (see
+    the pkg function).
+
+ ** Specific sparse matrix functions removed.
+
+    The following functions, which handled only sparse matrices have
+    been removed.  Instead of calling these functions directly, you
+    should use the corresponding function without the "sp" prefix.
+
+      spatan2     spcumsum  spkron   spprod
+      spchol      spdet     splchol  spqr
+      spchol2inv  spdiag    splu     spsum
+      spcholinv   spfind    spmax    spsumsqk
+      spcumprod   spinv     spmin
+
+ ** Improvements to the debugger.
+
+    The interactive debugging features have been improved.  Stopping
+    on statements with dbstop should work correctly now.  Stepping
+    into and over functions, and stepping one statement at a time
+    (with dbstep) now works.  Moving up and down the call stack with
+    dbup and dbdown now works.  The dbstack function is now available
+    to print the current function call stack.  The new dbquit function
+    is available to exit the debugging mode.
+
+ ** Improved traceback error messages.
+
+    Traceback error messages are much more concise and easier to
+    understand.  They now display information about the function call
+    stack instead of the stack of all statements that were active at
+    the point of the error.
+
+ ** Object Oriented Programming.
+
+    Octave now includes OOP features and the user can create their own
+    class objects and overloaded functions and operators.  For
+    example, all methods of a class called "myclass" will be found in
+    a directory "@myclass" on the users path.  The class specific
+    versions of functions and operators take precedence over the
+    generic versions of these functions.
+
+    New functions related to OOP include
+
+      class  inferiorto  isobject  loadobj  methods  superiorto
+
+    See the Octave manual for more details.
+
+ ** Parsing of Command-style Functions.
+
+    Octave now parses command-style functions without needing to first
+    declare them with "mark_as_command".  The rules for recognizing a
+    command-style function calls are
+
+      * A command must appear as the first word in a statement,
+        followed by a space.
+
+      * The first character after the space must not be '=' or '('
+
+      * The next token after the space must not look like a binary
+        operator.
+
+    These rules should be mostly compatible with the way Matlab parses
+    command-style function calls and allow users to define commands in
+    .m files without having to mark them as commands.
+
+    Note that previous versions of Octave allowed expressions like
+
+      x = load -text foo.dat
+
+    but an expression like this will now generate a parse error.  In
+    order to assign the value returned by a function to a variable,
+    you must use the normal function call syntax:
+
+      x = load ("-text", "foo.dat");
+
+ ** Block comments.
+
+    Commented code can be between matching "#{" and "#}" or "%{" and
+    "%}" markers, even if the commented code spans several line.  This
+    allows blocks code to be commented, without needing to comment
+    each line.  For example,
+
+    function [s, t] = func (x, y)
+      s = 2 * x;
+    #{
+      s *= y;
+      t = y + x;
+    #}
+    endfunction
+
+    the lines "s *= y;" and "t = y + x" will not be executed.
+
+ ** Special treatment in the parser of expressions like "a' * b".
+
+    In these cases the transpose is no longer explicitly formed and
+    BLAS libraries are called with the transpose flagged,
+    significantly improving performance for these kinds of
+    operations.
+
+ ** Single Precision data type.
+
+    Octave now includes a single precision data type.  Single
+    precision variables can be created with the "single" command, or
+    from functions like ones, eye, etc.  For example,
+
+      single (1)
+      ones (2, 2, "single")
+      zeros (2, 2, "single")
+      eye (2, 2, "single")
+      Inf (2, 2, "single")
+      NaN (2, 2, "single")
+      NA (2, 2, "single")
+
+    all create single precision variables.  For compatibility with
+    Matlab, mixed double/single precision operators and functions
+    return single precision types.
+
+    As a consequence of this addition to Octave the internal
+    representation of the double precision NA value has changed, and
+    so users that make use of data generated by Octave with R or
+    visa-versa are warned that compatibility might not be assured.
+
+ ** Improved array indexing.
+
+    The underlying code used for indexing of arrays has been
+    completely rewritten and indexing is now significantly faster.
+
+ ** Improved memory management.
+
+    Octave will now attempt to share data in some cases where previously
+    a copy would be made, such as certain array slicing operations or
+    conversions between cells, structs and cs-lists.  This usually reduces
+    both time and memory consumption.
+    Also, Octave will now attempt to detect and optimize usage of a vector
+    as a stack, when elements are being repeatedly inserted at/removed from
+    the end of the vector.
+
+ ** Improved performance for reduction operations.
+
+    The performance of the sum, prod, sumsq, cumsum, cumprod, any, all,
+    max and min functions has been significantly improved.
+
+ ** Sorting and searching.
+
+    The performance of sort has been improved, especially when sorting
+    indices are requested. An efficient built-in issorted implementation
+    was added. sortrows now uses a more efficient algorithm, especially
+    in the homegeneous case. lookup is now a built-in function performing
+    a binary search, optimized for long runs of close elements. Lookup
+    also works with cell arrays of strings.
+
+ ** Range arithmetics
+
+    For some operations on ranges, Octave will attempt to keep the result as a
+    range.  These include negation, adding a scalar, subtracting a scalar, and
+    multiplying by a scalar. Ranges with zero increment are allowed and can be
+    constructed using the built-in function `ones'.
+
+ ** Various performance improvements.
+
+    Performance of a number of other built-in operations and functions was
+    improved, including:
+
+    * logical operations
+    * comparison operators
+    * element-wise power
+    * accumarray
+    * cellfun
+    * isnan
+    * isinf
+    * isfinite
+    * nchoosek
+    * repmat
+    * strcmp
+
+ ** 64-bit integer arithmetic.
+
+    Arithmetic with 64-bit integers (int64 and uint64 types) is fully
+    supported, with saturation semantics like the other integer types.
+    Performance of most integer arithmetic operations has been
+    improved by using integer arithmetic directly.  Previously, Octave
+    performed integer math with saturation semantics by converting the
+    operands to double precision, performing the operation, and then
+    converting the result back to an integer value, truncating if
+    necessary.
+
+ ** Diagonal and permutation matrices.
+
+    The interpreter can now treat diagonal and permutation matrices as
+    special objects that store only the non-zero elements, rather than
+    general full matrices.  Therefore, it is now possible to construct
+    and use these matrices in linear algebra without suffering a
+    performance penalty due to storing large numbers of zero elements.
+
+ ** Improvements to fsolve.
+
+    The fsolve function now accepts an option structure argument (see
+    also the optimset function).  The INFO values returned from fsolve
+    have changed to be compatible with Matlab's fsolve function.
+    Additionally, fsolve is now able to solve overdetermined systems,
+    complex-differentiable complex systems, systems with a sparse
+    jacobian and can work in single precision if given single precision
+    inputs.  It can also be called recursively.
+
+ ** Improvements to the norm function.
+
+    The norm function is now able to compute row or column norms of a
+    matrix in a single call, as well as general matrix p-norms.
+
+ ** New functions for computing some eigenvalues or singular values.
+
+    The eigs and svds functions have been included in Octave.  These
+    functions require the ARPACK library (now distributed under a
+    GPL-compatible license).
+
+ ** New QR and Cholesky factorization updating functions.
+
+      choldelete  cholshift   qrdelete  qrshift
+      cholinsert  cholupdate  qrinsert  qrupdate
+
+ ** New quadrature functions.
+
+      dblquad  quadgk  quadv  triplequad
+
+ ** New functions for reading and writing images.
+
+    The imwrite and imread functions have been included in Octave.
+    These functions require the GraphicsMagick library.  The new
+    function imfinfo provides information about an image file (size,
+    type, colors, etc.)
+
+ ** The input_event_hook function has been replaced by the pair of
+    functions add_input_event_hook and remove_input_event_hook so that
+    more than one hook function may be installed at a time.
+
+ ** Other miscellaneous new functions.
+
+      addtodate          hypot                       reallog
+      bicgstab           idivide                     realpow
+      cellslices         info                        realsqrt
+      cgs                interp1q                    rectint
+      command_line_path  isdebugmode                 regexptranslate
+      contrast           isfloat                     restoredefaultpath
+      convn              isstrprop                   roundb
+      cummin             log1p                       rundemos
+      cummax             lsqnonneg                   runlength
+      datetick           matlabroot                  saveobj
+      display            namelengthmax               spaugment
+      expm1              nargoutchk                  strchr
+      filemarker         pathdef                     strvcat
+      fstat              perl                        subspace
+      full               prctile                     symvar
+      fzero              quantile                    treelayout
+      genvarname         re_read_readline_init_file  validatestring
+      histc
+
+ ** Changes to strcat.
+
+    The strcat function is now compatible with Matlab's strcat
+    function, which removes trailing whitespace when concatenating
+    character strings.  For example
+
+      strcat ('foo ', 'bar')
+      ==> 'foobar'
+
+    The new function cstrcat provides the previous behavior of
+    Octave's strcat.
+
+ ** Improvements to the help functions.
+
+    The help system has been mostly re-implemented in .m files to make
+    it easier to modify.  Performance of the lookfor function has been
+    greatly improved by caching the help text from all functions that
+    are distributed with Octave.  The pkg function has been modified
+    to generate cache files for external packages when they are
+    installed.
+
+ ** Deprecated functions.
+
+    The following functions were deprecated in Octave 3.0 and will be
+    removed in Octave 3.4 (or whatever version is the second major
+    release after 3.0):
+
+      beta_cdf         geometric_pdf        pascal_pdf
+      beta_inv         geometric_rnd        pascal_rnd
+      beta_pdf         hypergeometric_cdf   poisson_cdf
+      beta_rnd         hypergeometric_inv   poisson_inv
+      binomial_cdf     hypergeometric_pdf   poisson_pdf
+      binomial_inv     hypergeometric_rnd   poisson_rnd
+      binomial_pdf     intersection         polyinteg
+      binomial_rnd     is_bool              setstr
+      chisquare_cdf    is_complex           struct_contains
+      chisquare_inv    is_list              struct_elements
+      chisquare_pdf    is_matrix            t_cdf
+      chisquare_rnd    is_scalar            t_inv
+      clearplot        is_square            t_pdf
+      clg              is_stream            t_rnd
+      com2str          is_struct            uniform_cdf
+      exponential_cdf  is_symmetric         uniform_inv
+      exponential_inv  is_vector            uniform_pdf
+      exponential_pdf  isstr                uniform_rnd
+      exponential_rnd  lognormal_cdf        weibcdf
+      f_cdf            lognormal_inv        weibinv
+      f_inv            lognormal_pdf        weibpdf
+      f_pdf            lognormal_rnd        weibrnd
+      f_rnd            meshdom              weibull_cdf
+      gamma_cdf        normal_cdf           weibull_inv
+      gamma_inv        normal_inv           weibull_pdf
+      gamma_pdf        normal_pdf           weibull_rnd
+      gamma_rnd        normal_rnd           wiener_rnd
+      geometric_cdf    pascal_cdf
+      geometric_inv    pascal_inv
+
+    The following functions are now deprecated in Octave 3.2 and will
+    be removed in Octave 3.6 (or whatever version is the second major
+    release after 3.2):
+
+      create_set          spcholinv  spmax
+      dmult               spcumprod  spmin
+      iscommand           spcumsum   spprod
+      israwcommand        spdet      spqr
+      lchol               spdiag     spsum
+      loadimage           spfind     spsumsq
+      mark_as_command     spinv      str2mat
+      mark_as_rawcommand  spkron     unmark_command
+      spatan2             splchol    unmark_rawcommand
+      spchol              split
+      spchol2inv          splu
+
+See NEWS.3 for old news.
+</pre>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/NEWS-3.4.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,482 @@
+---
+layout: page
+title: GNU Octave Version 3.4
+menu: false
+permalink: NEWS-3.4.html
+---
+
+## Summary of important user-visible changes
+
+February 8, 2011
+
+{% include release_news_select.md %}
+
+<pre>
+ ** IMPORTANT note about binary incompatibility in this release:
+
+    Binary compatibility for all 3.4.x releases was originally planned,
+    but this is impossible for the 3.4.1 release due to a bug in the way
+    shared libraries were built in Octave 3.4.0.  Because of this bug,
+    .oct files built for Octave 3.4.0 must be recompiled before they
+    will work with Octave 3.4.1.
+
+    Given that there would be binary incompatibilities with shared
+    libraries going from Octave 3.4.0 to 3.4.1, the following
+    incompatible changes were also made in this release:
+
+      * The Perl Compatible Regular Expression (PCRE) library is now
+        required to build Octave.
+
+      * Octave's libraries and .oct files are now installed in
+        subdirectories of $libdir instead of $libexecdir.
+
+    Any future Octave 3.4.x release versions should remain binary
+    compatible with Octave 3.4.1 as proper library versioning is now
+    being used as recommended by the libtool manual.
+
+ ** The following functions have been deprecated in Octave 3.4.1 and will
+    be removed from Octave 3.8 (or whatever version is the second major
+    release after 3.4):
+
+      cquad  is_duplicate_entry  perror  strerror
+
+ ** The following functions are new in 3.4.1:
+
+      colstyle  gmres  iscolumn  isrow  mgorth  nproc  rectangle
+
+ ** The get_forge_pkg function is now private.
+
+ ** The rectangle_lw, rectangle_sw, triangle_lw, and triangle_sw
+    functions are now private.
+
+ ** The logistic_regression_derivatives and logistic_regression_likelihood
+    functions are now private.
+
+ ** ChangeLog files in the Octave sources are no longer maintained
+    by hand.  Instead, there is a single ChangeLog file generated from
+    the Mercurial version control commit messages.  Older ChangeLog
+    information can be found in the etc/OLD-ChangeLogs directory in the
+    source distribution.
+
+Summary of important user-visible changes for version 3.4:
+---------------------------------------------------------
+
+ ** BLAS and LAPACK libraries are now required to build Octave.  The
+    subset of the reference BLAS and LAPACK libraries has been removed
+    from the Octave sources.
+
+ ** The `lookup' function was extended to be more useful for
+    general-purpose binary searching.  Using this improvement, the
+    ismember function was rewritten for significantly better
+    performance.
+
+ ** Real, integer and logical matrices, when used in indexing, will now
+    cache the internal index_vector value (zero-based indices) when
+    successfully used as indices, eliminating the conversion penalty for
+    subsequent indexing by the same matrix.  In particular, this means it
+    is no longer needed to avoid repeated indexing by logical arrays
+    using find for performance reasons.
+
+ ** Logical matrices are now treated more efficiently when used as
+    indices.  Octave will keep the index as a logical mask unless the
+    ratio of true elements is small enough, using a specialized
+    code.  Previously, all logical matrices were always first converted
+    to index vectors.  This results in savings in both memory and
+    computing time.
+
+ ** The `sub2ind' and `ind2sub' functions were reimplemented as compiled
+    functions for better performance.  These functions are now faster,
+    can deliver more economized results for ranges, and can reuse the
+    index cache mechanism described in previous paragraph.
+
+ ** The built-in function equivalents to associative operators (`plus',
+    `times', `mtimes', `and', and `or') have been extended to accept
+    multiple arguments.  This is especially useful for summing
+    (multiplying, etc.) lists of objects (of possibly distinct types):
+
+      matrix_sum = plus (matrix_list{:});
+
+ ** An FTP object type based on libcurl has been implemented.  These
+    objects allow ftp connections, downloads and uploads to be
+    managed.  For example,
+
+      fp = ftp ("ftp.octave.org);
+      cd (fp, "gnu/octave");
+      mget (fp, "octave-3.2.3.tar.bz2");
+      close (fp);
+
+ ** The default behavior of `assert (observed, expected)' has been
+    relaxed to employ less strict checking that does not require the
+    internals of the values to match.  This avoids previously valid
+    tests from breaking due to new internal classes introduced in future
+    Octave versions.
+
+    For instance, all of these assertions were true in Octave 3.0.x
+    but false in 3.2.x due to new optimizations and improvements:
+
+      assert (2*linspace (1, 5, 5), 2*(1:5))
+      assert (zeros (0, 0), [])
+      assert (2*ones (1, 5), (2) (ones (1,5)))
+
+ ** The behavior of library functions `ismatrix', `issquare', and
+    `issymmetric' has been changed for better consistency.
+
+    * The `ismatrix' function now returns true for all numeric,
+      logical and character 2-D or N-D matrices.  Previously, `ismatrix'
+      returned false if the first or second dimension was zero.
+      Hence, `ismatrix ([])' was false,
+      while `ismatrix (zeros (1,2,0))' was true.
+
+    * The `issquare' function now returns a logical scalar, and is
+      equivalent to the expression
+
+        ismatrix (x) && ndims (x) == 2 && rows (x) == columns (x)
+
+      The dimension is no longer returned.  As a result, `issquare ([])'
+      now yields true.
+
+    * The `issymmetric' function now checks for symmetry instead of
+      Hermitianness.  For the latter, ishermitian was created.  Also,
+      logical scalar is returned rather than the dimension, so
+      `issymmetric ([])' is now true.
+
+ ** Function handles are now aware of overloaded functions.  If a
+    function is overloaded, the handle determines at the time of its
+    reference which function to call.  A non-overloaded version does not
+    need to exist.
+
+ ** Overloading functions for built-in classes (double, int8, cell,
+    etc.) is now compatible with Matlab.
+
+ ** Function handles can now be compared with the == and != operators,
+    as well as the `isequal' function.
+
+ ** Performance of concatenation (using []) and the functions `cat',
+    `horzcat', and `vertcat' has been improved for multidimensional
+    arrays.
+
+ ** The operation-assignment operators +=, -=, *= and /= now behave more
+    efficiently in certain cases.  For instance, if M is a matrix and S a
+    scalar, then the statement
+
+      M += S;
+
+    will operate on M's data in-place if it is not shared by another
+    variable, usually increasing both time and memory efficiency.
+
+    Only selected common combinations are affected, namely:
+
+      matrix += matrix
+      matrix -= matrix
+      matrix .*= matrix
+      matrix ./= matrix
+
+      matrix += scalar
+      matrix -= scalar
+      matrix *= scalar
+      matrix /= scalar
+
+      logical matrix |= logical matrix
+      logical matrix &= logical matrix
+
+    where matrix and scalar belong to the same class.  The left-hand
+    side must be a simple variable reference.
+
+    Moreover, when unary operators occur in expressions, Octave will
+    also try to do the operation in-place if it's argument is a
+    temporary expresssion.
+
+ ** The effect of comparison operators (<, >, <=, and >=) applied to
+    complex numbers has changed to be consistent with the strict
+    ordering defined by the `max', `min', and `sort' functions.  More
+    specifically, complex numbers are compared by lexicographical
+    comparison of the pairs `[abs(z), arg(z)]'.  Previously, only real
+    parts were compared; this can be trivially achieved by wrapping the
+    operands in real().
+
+ ** The automatic simplification of complex computation results has
+    changed.  Octave will now simplify any complex number with a zero
+    imaginary part or any complex matrix with all elements having zero
+    imaginary part to a real value.  Previously, this was done only for
+    positive zeros.  Note that the behavior of the complex function is
+    unchanged and it still produces a complex value even if the
+    imaginary part is zero.
+
+ ** As a side effect of code refactoring in liboctave, the binary
+    logical operations are now more easily amenable to compiler
+    optimizations and are thus significantly faster.
+
+ ** Octave now allows user-defined `subsasgn' methods to optimize out
+    redundant copies.  For more information, see the manual.
+
+ ** More efficient matrix division handling.  Octave is now able to
+    handle the expressions
+
+       M' \ V
+       M.' \ V
+       V / M
+
+    (M is a matrix and V is a vector) more efficiently in certain cases.
+    In particular, if M is triangular, all three expressions will be
+    handled by a single call to xTRTRS (from LAPACK), with appropriate
+    flags.  Previously, all three expressions required a physical
+    transpose of M.
+
+ ** More efficient handling of certain mixed real-complex matrix
+    operations.  For instance, if RM is a real matrix and CM a complex
+    matrix,
+
+      RM * CM
+
+    can now be evaluated either as
+
+      complex (RM * real (CM), RM * imag (CM))
+
+    or as
+
+      complex (RM) * CM,
+
+    depending on the dimensions.  The first form requires more
+    temporaries and copying, but halves the FLOP count, which normally
+    brings better performance if RM has enough rows.  Previously, the
+    second form was always used.
+
+    Matrix division is similarly affected.
+
+ ** More efficient handling of triangular matrix factors returned from
+    factorizations.  The functions for computing QR, LU and Cholesky
+    factorizations will now automatically return the triangular matrix
+    factors with proper internal matrix_type set, so that it won't need
+    to be computed when the matrix is used for division.
+
+ ** The built-in `sum' function now handles the non-native summation
+    (i.e., double precision sum of single or integer inputs) more
+    efficiently, avoiding a temporary conversion of the whole input
+    array to doubles.  Further, `sum' can now accept an extra option
+    argument, using a compensated summation algorithm rather than a
+    straightforward sum, which significantly improves precision if lots
+    of cancellation occurs in the summation.
+
+ ** The built-in `bsxfun' function now uses optimized code for certain
+    cases where built-in operator handles are passed in.  Namely, the
+    optimizations concern the operators `plus', `minus', `times',
+    `ldivide', `rdivide', `power', `and', `or' (for logical arrays),
+    the relational operators `eq', `ne', `lt', `le', `gt', `ge', and the
+    functions `min' and `max'.  Optimizations only apply when both
+    operands are of the same built-in class.  Mixed real/complex and
+    single/double operations will first convert both operands to a
+    common type.
+
+ ** The `strfind' and `strrep' functions now have compiled
+    implementations, facilitating significantly more efficient searching
+    and replacing in strings, especially with longer patterns.  The code
+    of `strcat' has been vectorized and is now much more efficient when
+    many strings are concatenated.  The `strcmpi' and `strncmpi'
+    functions are now built-in functions, providing better performance.
+
+ ** Matlab-style ignoring input and output function arguments using
+    tilde (~) is now supported.  Ignored output arguments may be
+    detected from a function using the built-in function `isargout'.
+    For more details, consult the manual.
+
+ ** The list datatype, deprecated since the introduction of cells, has
+    been removed.
+
+ ** The accumarray function has been optimized and is now significantly
+    faster in certain important cases.
+
+ ** The behavior of isreal and isnumeric functions was changed to be more
+    Matlab-compatible.
+
+ ** The integer math & conversion warnings (Octave:int-convert-nan,
+    Octave:int-convert-non-int-val, Octave:int-convert-overflow,
+    Octave:int-math-overflow) have been removed.
+
+ ** rem and mod are now built-in functions.  They also handle integer
+    types efficiently using integer arithmetic.
+
+ ** Sparse indexing and indexed assignment has been mostly rewritten.
+    Since Octave uses compressed column storage for sparse matrices,
+    major attention is devoted to operations manipulating whole columns.
+    Such operations are now significantly faster, as well as some other
+    important cases.
+
+    Further, it is now possible to pre-allocate a sparse matrix and
+    subsequently fill it by assignments, provided they meet certain
+    conditions.  For more information, consult the `spalloc' function,
+    which is no longer a mere dummy.  Consequently, nzmax and nnz are no
+    longer always equal in Octave.  Octave may also produce a matrix
+    with nnz < nzmax as a result of other operations, so you should
+    consistently use nnz unless you really want to use nzmax (i.e. the
+    space allocated for nonzero elements).
+
+    Sparse concatenation is also affected, and concatenating sparse
+    matrices, especially larger collections, is now significantly more
+    efficient.  This applies to both the [] operator and the
+    cat/vertcat/horzcat functions.
+
+ ** It is now possible to optionally employ the xGESDD LAPACK drivers
+    for computing the singular value decomposition using svd(), instead
+    of the default xGESVD, using the configuration pseudo-variable
+    svd_driver.  The xGESDD driver can be up to 6x times faster when
+    singular vectors are requested, but is reported to be somewhat less
+    robust on highly ill-conditioned matrices.
+
+ ** Configuration pseudo-variables, such as page_screen_output or
+    confirm_recursive_rmdir (or the above mentioned svd_driver), now
+    accept a "local" option as second argument, requesting the change
+    to be undone when the current function returns:
+
+    function [status, msg] = rm_rf (dir)
+      confirm_recursive_rmdir (false, "local");
+      [status, msg] = rmdir (dir, "s");
+      ...
+    endfunction
+
+    Upon return, confirm_recursive_rmdir will be restored to the value
+    it had on entry to the function, even if there were subsequent
+    changes to the variable in function rm_rf or any of the functions
+    it calls.
+
+ ** pkg now accepts a -forge option for downloading and installing
+    packages from Octave Forge automatically.  For example,
+
+      pkg install -forge general
+
+    will automatically download the latest release of the general
+    package and attempt to install it. No automatic resolving of
+    dependencies is provided.  Further,
+
+      pkg list -forge
+
+    can be used to list all available packages.
+
+  ** The internal data representation of structs has been completely
+     rewritten to make certain optimizations feasible.  The field data
+     can now be shared between structs with equal keys but different
+     dimensions or values, making operations that preserve the fields
+     faster.  Economized storage is now used for scalar structs (just
+     like most other scalars), making their usage more
+     memory-efficient.  Certain array-like operations on structs
+     (concatenation, uniform cellfun, num2cell) have gained a
+     significant speed-up.  Additionally, the octave_scalar_map class
+     now provides a simpler interface to work with scalar structs within
+     a C++ DLD function.
+
+  ** Two new formats are available for displaying numbers:
+
+       format short eng
+       format long eng
+
+     Both display numbers in engineering notation, i.e., mantissa +
+     exponent where the exponent is a multiple of 3.
+
+  ** The following functions are new in Octave 3.4:
+
+       accumdim    erfcx        nfields      pqpnonneg  uigetdir
+       bitpack     fileread     nth_element  quadcc     uigetfile
+       bitunpack   fminbnd      onCleanup    randi      uiputfile
+       blkmm       fskipl       pbaspect     repelems   uimenu
+       cbrt        ifelse       pie3         reset      whitebg
+       curl        ishermitian  powerset     rsf2csf
+       chop        isindex      ppder        saveas
+       daspect     luupdate     ppint        strread
+       divergence  merge        ppjumps      textread
+
+  ** Using the image function to view images with external programs such
+     as display, xv, and xloadimage is no longer supported.  The
+     image_viewer function has also been removed.
+
+  ** The behavior of struct assignments to non-struct values has been
+     changed.  Previously, it was possible to overwrite an arbitrary
+     value:
+
+        a = 1;
+        a.x = 2;
+
+     This is no longer possible unless a is an empty matrix or cell
+     array.
+
+  ** The dlmread function has been extended to allow specifying a custom
+     value for empty fields.
+
+  ** The dlmread and dlmwrite functions have been modified to accept
+     file IDs (as returned by fopen) in addition to file names.
+
+  ** Octave can now optimize away the interpreter overhead of an
+     anonymous function handle, if the function simply calls another
+     function or handle with some of its parameters bound to certain
+     values.  Example:
+
+       f = @(x) sum (x, 1);
+
+     When f is called, the call is forwarded to @sum with the constant 1
+     appended, and the anonymous function call does not occur on the
+     call stack.
+
+ ** Deprecated functions.
+
+    The following functions were deprecated in Octave 3.0 and have been
+    removed from Octave 3.4.
+
+      beta_cdf         geometric_pdf        pascal_pdf
+      beta_inv         geometric_rnd        pascal_rnd
+      beta_pdf         hypergeometric_cdf   poisson_cdf
+      beta_rnd         hypergeometric_inv   poisson_inv
+      binomial_cdf     hypergeometric_pdf   poisson_pdf
+      binomial_inv     hypergeometric_rnd   poisson_rnd
+      binomial_pdf     intersection         polyinteg
+      binomial_rnd     is_bool              setstr
+      chisquare_cdf    is_complex           struct_contains
+      chisquare_inv    is_list              struct_elements
+      chisquare_pdf    is_matrix            t_cdf
+      chisquare_rnd    is_scalar            t_inv
+      clearplot        is_square            t_pdf
+      clg              is_stream            t_rnd
+      com2str          is_struct            uniform_cdf
+      exponential_cdf  is_symmetric         uniform_inv
+      exponential_inv  is_vector            uniform_pdf
+      exponential_pdf  isstr                uniform_rnd
+      exponential_rnd  lognormal_cdf        weibcdf
+      f_cdf            lognormal_inv        weibinv
+      f_inv            lognormal_pdf        weibpdf
+      f_pdf            lognormal_rnd        weibrnd
+      f_rnd            meshdom              weibull_cdf
+      gamma_cdf        normal_cdf           weibull_inv
+      gamma_inv        normal_inv           weibull_pdf
+      gamma_pdf        normal_pdf           weibull_rnd
+      gamma_rnd        normal_rnd           wiener_rnd
+      geometric_cdf    pascal_cdf
+      geometric_inv    pascal_inv
+
+    The following functions were deprecated in Octave 3.2 and will
+    be removed from Octave 3.6 (or whatever version is the second major
+    release after 3.2):
+
+      create_set          spcholinv    splu
+      dmult               spcumprod    spmax
+      iscommand           spcumsum     spmin
+      israwcommand        spdet        spprod
+      lchol               spdiag       spqr
+      loadimage           spfind       spsum
+      mark_as_command     sphcat       spsumsq
+      mark_as_rawcommand  spinv        spvcat
+      spatan2             spkron       str2mat
+      spchol              splchol      unmark_command
+      spchol2inv          split        unmark_rawcommand
+
+    The following functions have been deprecated in Octave 3.4 and will
+    be removed from Octave 3.8 (or whatever version is the second major
+    release after 3.4):
+
+      autocor  cellidx   gammai     krylovb    values
+      autocov  dispatch  glpkmex    replot
+      betai    fstat     is_global  saveimage
+
+  * For compatibility with Matlab, mu2lin (x) is now equivalent to
+    mu2lin (x, 0).
+
+  * The ARPACK library is now distributed with Octave so it no longer
+    needs to be available as an external dependency when building
+    Octave.
+</pre>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/NEWS-3.6.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,223 @@
+---
+layout: page
+title: GNU Octave Version 3.6
+menu: false
+permalink: NEWS-3.6.html
+---
+
+## Summary of important user-visible changes
+
+January 15, 2012
+
+{% include release_news_select.md %}
+
+<pre>
+ ** The PCRE library is now required to build Octave.  If a pre-compiled
+    package does not exist for your system, you can find PCRE sources
+    at http://www.pcre.org
+
+ ** The ARPACK library is no longer distributed with Octave.
+    If you need the eigs or svds functions you must provide an
+    external ARPACK through a package manager or by compiling it
+    yourself.  If a pre-compiled package does not exist for your system,
+    you can find the current ARPACK sources at
+    http://forge.scilab.org/index.php/p/arpack-ng
+
+ ** Many of Octave's binary operators (.*, .^, +, -, ...) now perform
+    automatic broadcasting for array operations which allows you to use
+    operator notation instead of calling bsxfun or expanding arrays (and
+    unnecessarily wasting memory) with repmat or similar idioms.  For
+    example, to scale the columns of a matrix by the elements of a row
+    vector, you may now write
+
+      rv .* M
+
+    In this expression, the number of elements of rv must match the
+    number of columns of M.  The following operators are affected:
+
+      plus      +  .+
+      minus     -  .-
+      times     .*
+      rdivide   ./
+      ldivide   .\
+      power     .^  .**
+      lt        <
+      le        <=
+      eq        ==
+      gt        >
+      ge        >=
+      ne        !=  ~=
+      and       &
+      or        |
+      atan2
+      hypot
+      max
+      min
+      mod
+      rem
+      xor
+
+    additionally, since the A op= B assignment operators are equivalent
+    to A = A op B, the following operators are also affected:
+
+      +=  -=  .+=  .-=  .*=  ./=  .\=  .^=  .**=  &=  |=
+
+    See the "Broadcasting" section in the new "Vectorization and Faster
+    Code Execution" chapter of the manual for more details.
+
+ ** Octave now features a profiler, thanks to the work of Daniel Kraft
+    under the Google Summer of Code mentorship program.  The manual has
+    been updated to reflect this addition.  The new user-visible
+    functions are profile, profshow, and profexplore.
+
+ ** Overhaul of statistical distribution functions
+
+    Functions now return "single" outputs for inputs of class "single".
+
+    75% reduction in memory usage through use of logical indexing.
+
+    Random sample functions now use the same syntax as rand and accept
+    a comma separated list of dimensions or a dimension vector.
+
+    Functions have been made Matlab-compatible with regard to special
+    cases (probability on boundaries, probabilities for values outside
+    distribution, etc.).  This may cause subtle changes to existing
+    scripts.
+
+    negative binomial function has been extended to real, non-integer
+    inputs.  The discrete_inv function now returns v(1) for 0 instead of
+    NaN.  The nbincdf function has been recoded to use a closed form
+    solution with betainc.
+
+ ** strread, textscan, and textread have been completely revamped.
+
+    They now support nearly all Matlab functionality including:
+
+      * Matlab-compatible whitespace and delimiter defaults
+
+      * Matlab-compatible options: 'whitespace', treatasempty', format
+        string repeat count, user-specified comment style, uneven-length
+        output arrays, %n and %u conversion specifiers (provisionally)
+
+ ** All .m string functions have been modified for better performance or
+    greater Matlab compatibility.  Performance gains of 15X-30X have
+    been demonstrated.  Operations on cell array of strings no longer pay
+    quite as high a penalty as those on 2-D character arrays.
+
+      deblank:  Now requires character or cellstr input.
+
+      strtrim:  Now requires character or cellstr input.
+                No longer trims nulls ("\0") from string for Matlab
+                compatibility.
+
+      strmatch: Follows documentation precisely and ignores trailing spaces
+                in pattern and in string.  Note that this is documented
+                Matlab behavior but the implementation apparently does
+                not always follow it.
+
+      substr:   Now possible to specify a negative LEN option which
+                extracts to within LEN of the end of the string.
+
+      strtok:   Now accepts cellstr input.
+
+      base2dec, bin2dec, hex2dec:
+                Now accept cellstr inputs.
+
+      dec2base, dec2bin, dec2hex:
+                Now accept cellstr inputs.
+
+      index, rindex:
+                Now accept 2-D character array input.
+
+      strsplit: Now accepts 2-D character array input.
+
+ ** Geometry functions derived from Qhull (convhull, delaunay, voronoi)
+    have been revamped.  The options passed to the underlying qhull
+    command have been changed for better results or for Matlab
+    compatibility.
+
+      convhull: Default options are "Qt" for 2D, 3D, 4D inputs
+                Default options are "Qt Qx" for 5D and higher
+
+      delaunay: Default options are "Qt Qbb Qc Qz" for 2D and 3D inputs
+                Default options are "Qt Qbb Qc Qx" for 4D and higher
+
+      voronoi:  No default arguments
+
+ ** Date/Time functions updated.  Millisecond support with FFF format
+    string now supported.
+
+    datestr: Numerical formats 21, 22, 29 changed to match Matlab.
+             Now accepts cellstr input.
+
+ ** The following warning IDs have been removed:
+
+      Octave:associativity-change
+      Octave:complex-cmp-ops
+      Octave:empty-list-elements
+      Octave:fortran-indexing
+      Octave:precedence-change
+
+ ** The warning ID Octave:string-concat has been renamed to
+    Octave:mixed-string-concat.
+
+ ** Octave now includes the following Matlab-compatible preference
+    functions:
+
+      addpref  getpref  ispref  rmpref  setpref
+
+ ** The following Matlab-compatible handle graphics functions have been
+    added:
+
+      guidata         uipanel        uitoolbar
+      guihandles      uipushtool     uiwait
+      uicontextmenu   uiresume       waitfor
+      uicontrol       uitoggletool
+
+    The uiXXX functions above are experimental.
+
+    Except for uiwait and uiresume, the uiXXX functions are not
+    supported with the FLTK+OpenGL graphics toolkit.
+
+    The gnuplot graphics toolkit does not support any of the uiXXX
+    functions nor the waitfor function.
+
+ ** New keyword parfor (parallel for loop) is now recognized as a valid
+    keyword.  Implementation, however, is still mapped to an ordinary
+    for loop.
+
+ ** Other new functions added in 3.6.0:
+
+      bicg                       nthargout                   usejava
+      is_dq_string               narginchk                   waitbar
+      is_sq_string               python                      zscore
+      is_function_handle         register_graphics_toolkit
+      loaded_graphics_toolkits   recycle
+
+ ** Deprecated functions.
+
+    The following functions were deprecated in Octave 3.2 and have been
+    removed from Octave 3.6.
+
+      create_set          spcholinv    splu
+      dmult               spcumprod    spmax
+      iscommand           spcumsum     spmin
+      israwcommand        spdet        spprod
+      lchol               spdiag       spqr
+      loadimage           spfind       spsum
+      mark_as_command     sphcat       spsumsq
+      mark_as_rawcommand  spinv        spvcat
+      spatan2             spkron       str2mat
+      spchol              splchol      unmark_command
+      spchol2inv          split        unmark_rawcommand
+
+    The following functions have been deprecated in Octave 3.6 and will
+    be removed from Octave 3.10 (or whatever version is the second major
+    release after 3.6):
+
+      cut                is_duplicate_entry
+      cor                polyderiv
+      corrcoef           shell_cmd
+      __error_text__     studentize
+      error_text         sylvester_matrix
+</pre>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/NEWS-3.8.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,410 @@
+---
+layout: page
+title: GNU Octave Version 3.8
+menu: false
+permalink: NEWS-3.8.html
+---
+
+## Summary of important user-visible changes
+
+December 27, 2013
+
+{% include release_news_select.md %}
+
+<pre>
+  ** One of the biggest new features for Octave 3.8 is a graphical user
+     interface.  It is the one thing that users have requested most
+     often over the last few years and now it is almost ready.  But
+     because it is not quite as polished as we would like, we have
+     decided to wait until the 4.0.x release series before making the
+     GUI the default interface (until then, you can use the --force-gui
+     option to start the GUI).
+
+     Given the length of time and the number of bug fixes and
+     improvements since the last major release Octave, we also decided
+     against delaying the release of all these new improvements any
+     longer just to perfect the GUI.  So please enjoy the 3.8 release of
+     Octave and the preview of the new GUI.  We believe it is working
+     reasonably well, but we also know that there are some obvious rough
+     spots and many things that could be improved.
+
+     WE NEED YOUR HELP.  There are many ways that you can help us fix
+     the remaining problems, complete the GUI, and improve the overall
+     user experience for both novices and experts alike:
+
+       * If you are a skilled software developer, you can help by
+         contributing your time to help with Octave's development.  See
+         http://octave.org/get-involved.html for more information.
+
+       * If Octave does not work properly, you are encouraged
+         report the problems you find.  See http://octave.org/bugs.html
+         for more information about how to report problems.
+
+       * Whether you are a user or developer, you can help to fund the
+         project.  Octave development takes a lot of time and expertise.
+         Your contributions help to ensure that Octave will continue to
+         improve.  See http://octave.org/donate.html for more details.
+
+    We hope you find Octave to be useful.  Please help us make it even
+    better for the future!
+
+ ** Octave now uses OpenGL graphics by default with FLTK widgets.  If
+    OpenGL libraries or FLTK widgets are not available when Octave is
+    built, gnuplot is used.  You may also choose to use gnuplot for
+    graphics by executing the command
+
+      graphics_toolkit ("gnuplot")
+
+    Adding this command to your ~/.octaverc file will set the default
+    for each session.
+
+ ** Printing or saving figures with OpenGL graphics requires the
+    gl2ps library which is no longer distributed with Octave.  The
+    software is widely available in most package managers.  If a
+    pre-compiled package does not exist for your system, you can find
+    the current sources at http://www.geuz.org/gl2ps/.
+
+ ** Octave now supports nested functions with scoping rules that are
+    compatible with Matlab.  A nested function is one declared and defined
+    within the body of another function.  The nested function is only
+    accessible from within the enclosing function which makes it one
+    method for making private functions whose names do not conflict with those
+    in the global namespace (See also subfunctions and private functions).
+    In addition, variables in the enclosing function are visible within the
+    nested function.  This makes it possible to have a pseudo-global variable
+    which can be seen by a group of functions, but which is not visible in
+    the global namespace.
+
+    Example:
+    function outerfunc (...)
+      ...
+      function nested1 (...)
+        ...
+        function nested2 (...)
+           ...
+        endfunction
+      endfunction
+
+      function nested3 (...)
+        ...
+      endfunction
+    endfunction
+
+ ** Line continuations inside character strings have changed.
+
+    The sequence '...' is no longer recognized as a line continuation
+    inside a character string.  A backslash '\' followed by a newline
+    character is no longer recognized as a line continuation inside
+    single-quoted character strings.  Inside double-quoted character
+    strings, a backslash followed by a newline character is still
+    recognized as a line continuation, but the backslash character must
+    be followed *immediately* by the newline character.  No whitespace or
+    end-of-line comment may appear between them.
+
+ ** Backslash as a continuation marker outside of double-quoted strings
+    is now deprecated.
+
+    Using '\' as a continuation marker outside of double quoted strings
+    is now deprecated and will be removed from a future version of
+    Octave.  When that is done, the behavior of
+
+      (a \
+       b)
+
+    will be consistent with other binary operators.
+
+ ** Redundant terminal comma accepted by parser
+
+    A redundant terminal comma is now accepted in matrix
+    definitions which allows writing code such as
+
+    [a,...
+     b,...
+     c,...
+    ] = deal (1,2,3)
+
+ ** Octave now has limited support for named exceptions
+
+    The following syntax is now accepted:
+
+      try
+        statements
+      catch exception-id
+        statements
+      end
+
+    The exception-id is a structure with the fields "message" and
+    "identifier".  For example
+
+      try
+        error ("Octave:error-id", "error message");
+      catch myerr
+        printf ("identifier: %s\n", myerr.identifier);
+        printf ("message:    %s\n", myerr.message);
+      end_try_catch
+
+    When classdef-style classes are added to Octave, the exception-id
+    will become an MException object.
+
+ ** Warning states may now be set temporarily, until the end of the
+    current function, using the syntax
+
+      warning STATE ID "local"
+
+    in which STATE may be "on", "off", or "error".  Changes to warning
+    states that are set locally affect the current function and all
+    functions called from the current scope.  The previous warning state
+    is restored on return from the current function.  The "local"
+    option is ignored if used in the top-level workspace.
+
+ ** Warning IDs renamed:
+
+    Octave:array-as-scalar => Octave:array-to-scalar
+    Octave:array-as-vector => Octave:array-to-vector
+
+ ** 'emptymatch', 'noemptymatch' options added to regular expressions.
+
+    With this addition Octave now accepts the entire set of Matlab options
+    for regular expressions.  'noemptymatch' is the default, but 'emptymatch'
+    has certain uses where you need to match an assertion rather than actual
+    characters.  For example,
+
+    regexprep ('World', '^', 'Hello ', 'emptymatch')
+      => Hello World
+
+    where the pattern is actually the assertion '^' or start-of-line.
+
+ ** For compatibility with Matlab, the regexp, regexpi, and regexprep
+    functions now process backslash escape sequences in single-quoted pattern
+    strings.  In addition, the regexprep function now processes backslash
+    escapes in single-quoted replacement strings.  For example,
+
+    regexprep (str, '\t', '\n')
+
+    would search the variable str for a TAB character (escape sequence \t)
+    and replace it with a NEWLINE (escape sequence \n).  Previously the
+    expression would have searched for a literal '\' followed by 't' and
+    replaced the two characters with the sequence '\', 'n'.
+
+ ** A TeX parser has been implemented for the FLTK toolkit and is the default
+    for any text object including titles and axis labels.  The TeX parser is
+    supported only for display on a monitor, not for printing.
+
+    A quick summary of features:
+
+    Code         Feature     Example             Comment
+    -----------------------------------------------------------------
+    _            subscript   H_2O                formula for water
+    ^            exponent    y=x^2               formula for parabola
+    \char        symbol      \beta               Greek symbol beta
+    \fontname    font        \fontname{Arial}    set Arial font
+    \fontsize    fontsize    \fontsize{16}       set fontsize 16
+    \color[rgb]  fontcolor   \color[rgb]{1 0 1}  set magenta color
+    \bf          bold        \bfBold Text        bold font
+    \it          italic      \itItalic Text      italic font
+    \sl          slanted     \slOblique Text     slanted font
+    \rm          normal      \bfBold\rmNormal    normal font
+    {}           group       {\bf Bold}Normal    group objects
+                             e^{i*\pi} = -1      group objects
+
+ ** The m-files in the plot directory have been overhauled.
+
+    The plot functions now produce output that is nearly visually compatible
+    with Matlab.  Plot performance has also increased, dramatically for some
+    functions such as comet and waitbar.  Finally, the documentation for most
+    functions has been updated so it should be clearer both how to use a
+    function and when a function is appropriate.
+
+ ** The m-files in the image directory have been overhauled.
+
+    The principal benefit is that Octave will now no longer automatically
+    convert images stored with integers to doubles.  Storing images as uint8
+    or uint16 requires only 1/8 or 1/4 the memory of an image stored using
+    doubles.  For certain operations, such as fft2, the image must still be
+    converted to double in order to work.
+
+    Other changes include fixes to the way indexed images are read from a
+    colormap depending on the image class (integer images have a -1 offset to
+    the colormap row number).
+
+ ** The imread and imwrite functions have been completely rewritten.
+
+    The main changes relate to the alpha channel, support for reading and
+    writing of floating point images, implemented writing of indexed images,
+    and appending images to multipage image files.
+
+    The issues that may arise due to backwards incompatibility are:
+
+      * imwrite no longer interprets a length of 2 or 4 in the third dimension
+        as grayscale or RGB with alpha channel (a length of 4 will be saved
+        as a CMYK image).  Alpha channel must be passed as separate argument.
+
+      * imread will always return the colormap indexes when reading an indexed
+        image, even if the colormap is not requested as output.
+
+      * transparency values are now inverted from previous Octave versions
+        (0 is for completely transparent instead of completely opaque).
+
+    In addition, the function imformats has been implemented to expand
+    reading and writing of images of different formats through imread
+    and imwrite.
+
+ ** The colormap function now provides new options--"list", "register",
+    and "unregister"--to list all available colormap functions, and to
+    add or remove a function name from the list of known colormap
+    functions.  Packages that implement extra colormaps should use these
+    commands with PKG_ADD and PKG_DEL statements.
+
+ ** strsplit has been modified to be compatible with Matlab.  There
+    are two instances where backward compatibility is broken.
+
+    (1) Delimiters are now string vectors, not scalars.
+
+    Octave's legacy behavior
+
+      strsplit ("1 2, 3", ", ")
+      ans =
+      {
+       [1,1] = 1
+       [1,2] = 2
+       [1,3] =
+       [1,4] = 3
+      }
+
+    Matlab compatible behavior
+
+      strsplit ("1 2, 3", ", ")
+      ans =
+      {
+       [1,1] = 1 2
+       [1,2] = 3
+      }
+
+    (2) By default, Matlab treats consecutive delimiters as a single
+    delimiter.  By default, Octave's legacy behavior was to return an
+    empty string for the part between the delmiters.
+
+    Where legacy behavior is desired, the call to strsplit() may be
+    replaced by ostrsplit(), which is Octave's original implementation of
+    strsplit().
+
+ ** The datevec function has been extended for better Matlab compatibility.
+    It now accepts string inputs in the following numerical formats: 12, 21,
+    22, 26, 29, 31.  This is undocumented, but verifiable, Matlab behavior.
+    In addition, the default for formats which do not specify a date is
+    January 1st of the current year.  The previous default was the current day,
+    month, and year.  This may produce changes in existing scripts.
+
+ ** The error function and its derivatives has been extended to accept complex
+    arguments.  The following functions now accept complex inputs:
+
+    erf  erfc  erfcx
+
+    In addition two new error functions erfi (imaginary error function) and
+    dawson (scaled imaginary error function) have been added.
+
+ ** The glpk function has been modified to reflect changes in the GLPK
+    library.  The "round" and "itcnt" options have been removed.  The
+    "relax" option has been replaced by the "rtest" option.  The numeric
+    values of error codes and of some options have also changed.
+
+ ** The kurtosis function has changed definition to be compatible with
+    Matlab.  It now returns the base kurtosis instead of the "excess kurtosis".
+    The old behavior can be had by changing scripts to normalize with -3.
+
+               "excess kurtosis" = kurtosis (x) - 3
+
+ ** The moment function has changed definition to be compatible with
+    Matlab.  It now returns the central moment instead of the raw moment.
+    The old behavior can be had by passing the type argument "r" for raw.
+
+ ** The default name of the Octave crash dump file is now
+    "octave-workspace" instead of "octave-core".  The exact name can
+    always be customized with the octave_core_file_name function.
+
+ ** A citation command has been added to display information on how to
+    cite Octave and packages in publications.  The package system will
+    look for and install CITATION files from packages.
+
+ ** The java package from Octave Forge is now part of core Octave.  The
+    following new functions are available for interacting with Java
+    directly from Octave:
+
+      debug_java     java_matrix_autoconversion
+      isjava         java_unsigned_autoconversion
+      java2mat       javaaddpath
+      javaArray      javaclasspath
+      javaMethod     javamem
+      javaObject     javarmpath
+                     usejava
+
+    In addition, the following functions that use the Java interface
+    are now available (provided that Octave is compiled with support for
+    Java enabled):
+
+      helpdlg    listdlg   questdlg
+      inputdlg   msgbox    warndlg
+
+ ** Other new functions added in 3.8.0:
+
+      atan2d                     erfi             lines
+      base64_decode              expint           linsolve
+      base64_encode              findfigs         missing_component_hook
+      betaincinv                 flintmax         polyeig
+      built_in_docstrings_file   fminsearch       prefdir
+      cmpermute                  gallery          preferences
+      cmunique                   gco              readline_re_read_init_file
+      colorcube                  hdl2struct       readline_read_init_file
+      copyobj                    history_save     rgbplot
+      dawson                     imformats        save_default_options
+      dblist                     importdata       shrinkfaces
+      desktop                    isaxes           splinefit
+      doc_cache_create           iscolormap       stemleaf
+      ellipj                     isequaln         strjoin
+      ellipke                    jit_debug        struct2hdl
+      erfcinv                    jit_enable       tetramesh
+                                 jit_startcnt     waterfall
+
+ ** Deprecated functions.
+
+    The following functions were deprecated in Octave 3.4 and have been
+    removed from Octave 3.8.
+
+      autocor    dispatch              is_global    setstr
+      autocov    fstat                 krylovb      strerror
+      betai      gammai                perror       values
+      cellidx    glpkmex               replot
+      cquad      is_duplicate_entry    saveimage
+
+    The following functions have been deprecated in Octave 3.8 and will
+    be removed from Octave 3.12 (or whatever version is the second major
+    release after 3.8):
+
+      default_save_options    java_new
+      gen_doc_cache           java_set
+      interp1q                java_unsigned_conversion
+      isequalwithequalnans    javafields
+      java_convert_matrix     javamethods
+      java_debug              re_read_readline_init_file
+      java_get                read_readline_init_file
+      java_invoke             saving_history
+
+
+    The following keywords have been deprecated in Octave 3.8 and will
+    be removed from Octave 3.12 (or whatever version is the second major
+    release after 3.8):
+
+      static
+
+    The following configuration variables have been deprecated in Octave
+    3.8 and will be removed from Octave 3.12 (or whatever version is the
+    second major release after 3.8):
+
+      CC_VERSION  (now GCC_VERSION)
+      CXX_VERSION (now GXX_VERSION)
+
+    The internal class Octave_map has been deprecated in Octave 3.8 and
+    will be removed from Octave 3.12 (or whatever version is the second
+    major release after 3.8).  Replacement classes are octave_map
+    (struct array) or octave_scalar_map for a single structure.
+</pre>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/NEWS-3.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,222 @@
+---
+layout: page
+title: GNU Octave Version 3
+menu: false
+permalink: NEWS-3.html
+---
+
+## Summary of important user-visible changes
+
+December 21, 2007
+
+{% include release_news_select.md %}
+
+<ul>
+<li>Compatibility with Matlab graphics is much better.  We now
+    have some graphics features that work like Matlab's Handle
+    Graphics (tm):
+<ul>
+<li>  You can make a subplot and then use the print function to
+      generate file with the plot.</li>
+
+<li>  RGB line colors are supported if you use gnuplot 4.2.  Octave
+      can still use gnuplot 4.0, but there is no way to set arbitrary
+      line colors with it when using the Matlab-style plot functions.
+      There never was any way to do this reliably with older versions
+      of gnuplot (whether run from Octave or not) since it only
+      provided a limited set to choose from, and they were terminal
+      dependent, so choosing color 1 with the X11 terminal would be
+      different from color 1 with the PostScript terminal.  Valid RGB
+      colors for gnuplot 4.0 are the eight possible combinations of 0
+      and 1 for the R, G and B values. Invalid values are all mapped
+      to the same color.
+<p>
+      This also affects patch objects used in the bar, countour, meshc
+      and surfc functions, where the bars and contours will be
+      monochrome. A workaround for this is to type "colormap gmap40"
+      that loads a colormap that in many cases will be adequate for
+      simple bar and contour plots.</li>
+
+<li>  You can control the width of lines using (for example):
+<pre>
+	line (x, y, "linewidth", 4, "color", [1, 0, 0.5]);
+</pre>
+      (this also shows the color feature).</li>
+
+<li>  With gnuplot 4.2, image data is plotted with gnuplot and may be
+      combined with other 2-d plot data.</li>
+
+<li>  Lines for contour plots are generated with an Octave function, so
+      contour plots are now 2-d plots instead of special 3-d plots, and
+      this allows you to plot additional 2-d data on top of a contour
+      plot.</li>
+
+<li>  With the gnuplot "extended" terminals the TeX interpreter is
+      emulated. However, this means that the TeX interpreter is only
+      supported on the postscript terminals with gnuplot 4.0. Under
+      gnuplot 4.2 the terminals aqua, dumb, png, jpeg, gif, pm, windows,
+      wxt, svg and x11 are supported as well.</li>
+
+<li>  The following plot commands are now considered obsolete and will
+      be removed from a future version of Octave:
+<pre>
+	__gnuplot_set__
+	__gnuplot_show__
+	__gnuplot_plot__
+	__gnuplot_splot__
+	__gnuplot_replot__
+</pre>
+      Additionally, these functions no longer have any effect on plots
+      created with the Matlab-style plot commands
+      (<tt>plot</tt>, <tt>line</tt>, <tt>mesh</tt>, <tt>semilogx</tt>,
+      etc.).
+
+<li>  Plot property values are not extensively checked.  Specifying
+      invalid property values may produce unpredictible results.</li>
+
+<li>  Octave now sends data over the same pipe that is used to send
+      commands to gnuplot.  While this avoids the problem of
+      cluttering /tmp with data files, it is no longer possible to use
+      the mouse to zoom in on plots.  This is a limitation of gnuplot,
+      which is unable to zoom when the data it plots is not stored in
+      a file.  Some work has been done to fix this problem in newer
+      versions of gnuplot (> 4.2.2).  See for example,
+      <a href="http://www.nabble.com/zooming-of-inline-data-tf4357017.html#a12416496">this thread</a> on the gnuplot development list.
+</ul></li>
+
+
+<li>The way Octave handles search paths has changed.  Instead of
+    setting the built-in variable <tt>LOADPATH</tt>, you must
+    use <tt>addpath</tt>, <tt>rmpath</tt>, or <tt>path</tt> to
+    manipulate the function search path.  These functions will
+    maintain <tt>"."</tt> at the head of the path, for compatibility
+    with Matlab.
+<p>
+    Leading, trailing or doubled colons are no longer special.
+    Now, all elements of the search path are explicitly included in
+    the path when Octave starts.  To display the path, use
+    the <tt>path</tt> function.
+<p>
+    Path elements that end in <tt>//</tt> are no longer searched recursively.
+    Instead, you may use addpath and the genpath function to add an
+    entire directory tree to the path.  For example,
+<pre>
+      addpath (genpath ("~/octave"));
+</pre>
+    will add ~/octave and all directories below it to the head of the
+    path.</li>
+
+
+<li>Previous versions of Octave had a number of built-in variables to
+    control warnings (for example, <tt>warn_divide_by_zero</tt>).  These
+    variables have been replaced by warning identifiers that are used
+    with the warning function to control the state of warnings.
+<p>
+    For example, instead of writing
+<pre>
+      warn_divide_by_zero = false;
+</pre>
+    to disable divide-by-zero warnings, you should write
+<pre>
+      warning ("off", "Octave:divide-by-zero");
+</pre>
+    You may use the same technique in your own code to control
+    warnings.  For example, you can use
+<pre>
+      warning ("My-package:phase-of-the-moon",
+               "the phase of the moon could cause trouble today");
+</pre>
+    to allow users to control this warning using the
+    <tt>"My-package:phase-of-the-moon"</tt> warning identifier.
+<p>
+    You may also enable or disable all warnings, or turn them into
+    errors:
+<pre>
+      warning ("on", "all");
+      warning ("off", "all");
+      warning ("error", "Octave:divide-by-zero");
+      warning ("error", "all");
+</pre>
+    You can query the state of current warnings using
+<pre>
+      warning ("query", ID)
+      warning ("query")
+</pre>
+    (only those warning IDs which have been explicitly set are
+    returned).
+<p>
+    A partial list and description of warning identifiers is available
+    using
+<pre>
+      help warning_ids
+</pre></li>
+
+
+<li>All built-in variables have been converted to functions.  This
+    change simplifies the interpreter and allows a consistent
+    interface to internal variables for user-defined packages and the
+    core functions distributed with Octave.  In most cases, code that
+    simply accesses internal variables does not need to change.  Code
+    that sets internal variables will change.  For example, instead of
+    writing
+<pre>
+      PS1 = ">> ";
+</pre>
+    you will need to write
+<pre>
+      PS1 (">> ");
+</pre>
+    If you need write code that will run in both old and new versions
+    of Octave, you can use something like
+<pre>
+      if (exist ("OCTAVE_VERSION") == 5)
+        ## New:
+        PS1 (">> ");
+      else
+        ## Old:
+        PS1 = ">> ";
+      endif
+</pre></li>
+
+
+<li>For compatibility with Matlab, the output order of Octave's
+    <tt>"system"</tt> function has changed from
+<pre>
+      [output, status] = system (cmd);
+</pre>
+    to
+<pre>
+      [status, output] = system (cmd);
+</pre></li>
+
+
+<li>For compatibility with Matlab, <tt>normcdf</tt>, <tt>norminv</tt>,
+    <tt>normpdf</tt>, and <tt>normrnd</tt> have been modified to
+    compute distributions using the standard deviation instead of the
+    variance.</li>
+
+
+<li>For compatibility with Matlab, the output of Octave's fsolve
+    function has been changed from
+<pre>
+      [x, info, msg] = fsolve (...);
+</pre>
+    to
+<pre>
+      [x, fval, info] = fsolve (...);
+</pre></li>
+
+
+<li>For compatibility with Matlab, <tt>normcdf</tt>, <tt>norminv</tt>,
+    <tt>normpdf</tt>, and <tt>normrnd</tt> have been modified to
+    compute distributions using the standard deviation instead of the
+    variance.</li>
+
+
+<li>For compatibility with
+    Matlab, <tt>gamcdf</tt>, <tt>gaminv</tt>, <tt>gampdf</tt>,
+    <tt>gamrnd</tt>, <tt>expcdf</tt>, <tt>expinv</tt>, <tt>exppdf</tt>
+    and <tt>exprnd</tt> have been modified to compute the
+    distributions using the standard scale factor rather than one over
+    the scale factor.
+</ul>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/NEWS-4.0.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,349 @@
+---
+layout: page
+title: GNU Octave Version 4.0
+menu: false
+permalink: NEWS-4.0.html
+---
+
+## Summary of important user-visible changes
+
+May 23, 2015
+
+{% include release_news_select.md %}
+
+<pre>
+ ** A graphical user interface is now the default when running Octave
+    interactively.  The start-up option --no-gui will run the familiar
+    command line interface, and still allows use of the GUI dialogs and
+    qt plotting toolkit.  The option --no-gui-libs runs a minimalist
+    command line interface that does not link with the Qt libraries and
+    uses the fltk toolkit for plotting.
+
+ ** Octave now uses OpenGL graphics with Qt widgets by default.  If OpenGL
+    libraries are not available when Octave is built, gnuplot is used.
+    You may choose to use the fltk or gnuplot toolkit for graphics by
+    executing the command
+
+      graphics_toolkit ("fltk")
+        OR
+      graphics_toolkit ("gnuplot")
+
+    Adding such a command to your ~/.octaverc file will set the default
+    for each session.
+
+ ** A new syntax for object oriented programming termed classdef has been
+    introduced.  See the manual for more extensive documentation of the
+    classdef interface.
+
+    New keywords:
+
+      classdef      endclassdef
+      enumeration   endenumeration
+      events        endevents
+      methods       endmethods
+      properties    endproperties
+
+ ** New audio functions and classes:
+
+      audiodevinfo  audioread      sound
+      audioinfo     audiorecorder  soundsc
+      audioplayer   audiowrite
+
+ ** Other new classes in Octave 4.0:
+
+      audioplayer    inputParser
+      audiorecorder
+
+ ** Optional stricter Matlab compatibility for ranges, diagonal matrices,
+    and permutation matrices.
+
+    Octave has internal optimizations which use space-efficient storage
+    for the three data types above.  Three new functions have been added
+    which control whether the optimizations are used (default), or whether
+    the data types are stored as full matrices.
+
+    disable_range   disable_diagonal_matrix   disable_permutation_matrix
+
+    All three optimizations are disabled if Octave is started with the
+    --braindead command line option.
+
+ ** The preference
+
+      do_braindead_shortcircuit_evaluation
+
+    is now enabled by default.
+
+ ** The preference
+
+      allow_noninteger_range_as_index
+
+    is now enabled by default and the warning ID
+
+      Octave:noninteger-range-as-index
+
+    is now set to "on" by default instead of "error" by default and "on"
+    for --traditional.
+
+ ** The "backtrace" warning option is now enabled by default.  This change
+    was made for Matlab compatibility.
+
+ ** For compatibility with Matlab, the "ismatrix (x)" function now only checks
+    the dimension of "x".  The old behaviour of "ismatrix" is obtained by
+    "isnumeric (x) || islogical (x) || ischar (x)".
+
+ ** The nextpow2 function behaviour has been changed for vector inputs.
+    Instead of computing `nextpow2 (length (x))', it will now compute
+    nextpow2 for each element of the input.  This change is Matlab compatible,
+    and also prevents bugs for "vectors" of length 1.
+
+ ** polyeig now returns a row vector of eigenvalues rather than a matrix
+    with the eigenvalues on the diagonal.  This change was made for Matlab
+    compatibility.
+
+ ** Interpolation function changes for Matlab compatibility
+
+    The interpolation method 'cubic' is now equivalent to 'pchip'
+    for interp1, interp2, and interp3.  Previously, 'cubic' was equivalent
+    to 'spline' for interp2.  This may produce different results as 'spline'
+    has continuous 1st and 2nd derivatives while 'pchip' only has a continuous
+    1st derivative.  The methods 'next' and 'previous' have been added to
+    interp1 for compatibility.
+
+ ** The delaunay function has been extended to accept 3-D inputs for
+    Matlab compatibility.  The delaunay function no longer plots the
+    triangulation if no output argument is requested, instead, the
+    triangulation is always returned.  The delaunay3 function which
+    handles 3-D inputs has been deprecated in favor of delaunay.
+
+ ** The trigonometric functions asin and acos return different phase values
+    from previous versions of Octave when the input is outside the principal
+    branch ([-1, 1]).  If the real portion of the input is greater than 1 then
+    the limit from below is taken.  If the real portion is less than 1 then the
+    limit from above is taken.  This criteria is consistent with several other
+    numerical analysis software packages.
+
+ ** The hyperbolic function acosh now returns values with a phase in the range
+    [-pi/2, +pi/2].  Previously Octave returned values in the range [0, pi].
+    This is consistent with several other numerical analysis software packages.
+
+ ** strfind changes when using empty pattern ("") for Matlab compatibility
+
+    strfind now returns an empty array when the pattern itself is empty.
+    In previous versions of Octave, strfind matched at every character
+    location when the pattern was empty.
+
+      NEW
+      strfind ("abc", "") => []
+      OLD
+      strfind ("abc", "") => [1, 2, 3, 4]
+
+ ** Integer formats used in the printf family of functions now work for
+    64-bit integers and are more compatible with Matlab when printing
+    non-integer values.  Now instead of truncating, Octave will switch
+    the effective format to '%g' in the following circumstances:
+
+      * the value of an integer type (int8, uint32, etc.) value exceeds
+        the maximum for the format specifier.  For '%d', the limit is
+        intmax ('int64') and for '%u' it is intmax ('uint64').
+
+      * round(x) != x or the value is outside the range allowed by the
+        integer format specifier.
+
+    There is still one difference:  Matlab switches to '%e' and Octave
+    switches to '%g'.
+
+ ** The functions intersect, setdiff, setxor, and union now return a
+    column vector as output unless the input was a row vector.  This change
+    was made for Matlab compatibility.
+
+ ** The inpolygon function now returns true for points that are within
+    the polygon OR on it's edge.  This change was made for Matlab
+    compatibility.
+
+ ** The archive family of functions (bzip2, gzip, zip, tar) and their
+    unpacking routines (bunzip2, gunzip, unzip, untar, unpack) have
+    been recoded.  Excepting unpack, the default is now to place files
+    in the same directory as the archive (on unpack) or as the original
+    files (on archiving).
+
+ ** Qt and FLTK graphics toolkits now support offscreen rendering on Linux.
+    In other words, print will work even when the figure visibility is "off".
+
+ ** Z-order stacking issues with patches, grid lines, and line object
+    plot markers for on screen display and printing have all been resolved.
+    For 2-D plots the axis grid lines can be placed on top of the plot
+    with set (gca, "layer", "top").
+
+ ** The patch graphic object has been overhauled.  It now produces visual
+    results equivalent to Matlab even for esoteric combinations of
+    faces/vertices/cdata.
+
+ ** The polar() plot function now draws a circular theta axis and
+    radial rho axis rather than using a rectangular x/y axis.
+
+ ** linkprop has been completely re-coded for performance and Matlab
+    compatibility.  It now returns a linkprop object which must be stored
+    in a variable for as long as the graphic objects should remain linked.
+    To unlink properties use 'clear hlink' where hlink is the variable
+    containing the linkprop object.
+
+ ** isprime has been extended to operate on negative and complex inputs.
+
+ ** xor has been extended to accept more than two arguments in which case
+    it performs cumulative XOR reduction.
+
+ ** The following functions now support N-dimensional arrays:
+
+      fliplr   flipud   rot90   rectint
+
+ ** The new warning ID "Octave:data-file-in-path" replaces the three
+    previous separate warning IDs "Octave:fopen-file-in-path",
+    "Octave:load-file-in-path", and "Octave:md5sum-file-in-path".
+
+ ** The warning ID Octave:singular-matrix-div has been replaced by
+    Octave:nearly-singular-matrix and Octave:singular-matrix.
+
+ ** The warning ID Octave:matlab-incompatible has been replaced by
+    Octave:language-extension to better reflect its meaning.
+
+ ** The warning ID Octave:broadcast has been removed.  Instead automatic
+    broadcasting will throw an Octave:language-extension warning.  This
+    warning ID is used for broadcasting as well as other features not
+    available in Matlab.
+
+ ** Other new functions added in 4.0:
+
+      annotation
+      bandwidth
+      cubehelix
+      dir_in_loadpath
+      flip
+      frame2im
+      get_home_directory
+      hgload
+      hgsave
+      ichol
+      ilu
+      im2frame
+      isbanded
+      isdiag
+      isstudent
+      istril
+      istriu
+      javachk
+      jit_failcnt
+      linkaxes
+      lscov
+      metaclass
+      numfields
+      open
+      ordschur
+      pan
+      qmr
+      rotate
+      rotate3d
+      sylvester
+      unsetenv
+      validateattributes
+      zoom
+
+ ** inline() scheduled for eventual deprecation by Matlab
+
+    Functions created through the use of inline are scheduled for deprecation
+    by Matlab.  When this occurs Octave will continue to support inline
+    functions for an indeterminate amount of time before also removing support.
+    All new code should use anonymous functions in place of inline functions.
+
+ ** Deprecated functions.
+
+    The following functions have been deprecated in Octave 4.0 and will
+    be removed from Octave 4.4 (or whatever version is the second major
+    release after 4.0):
+
+      Function             | Replacement
+      ---------------------|------------------
+      bicubic              | interp2
+      delaunay3            | delaunay
+      dump_prefs           | individual preference get/set routines
+      find_dir_in_path     | dir_in_loadpath
+      finite               | isfinite
+      fmod                 | rem
+      fnmatch              | glob or regexp
+      loadaudio            | audioread
+      luinc                | ilu or ichol
+      mouse_wheel_zoom     | mousewheelzoom axes property
+      nfields              | numfields
+      octave_tmp_file_name | tempname
+      playaudio            | audioplayer
+      saveaudio            | audiowrite
+      syl                  | sylvester
+      usage                | print_usage
+
+      allow_noninteger_range_as_index
+      do_braindead_shortcircuit_evaluation
+      setaudio
+
+ ** The following functions were deprecated in Octave 3.8 and will be
+    removed from Octave 4.2 (or whatever version is the second major
+    release after 3.8):
+
+      default_save_options    java_new
+      gen_doc_cache           java_unsigned_conversion
+      interp1q                javafields
+      isequalwithequalnans    javamethods
+      java_convert_matrix     re_read_readline_init_file
+      java_debug              read_readline_init_file
+      java_invoke             saving_history
+
+ ** The following functions were deprecated in Octave 3.6 and have been
+    removed from Octave 4.0.
+
+      cut                polyderiv
+      cor                shell_cmd
+      corrcoef           studentize
+      __error_text__     sylvester_matrix
+      error_text
+
+ ** The following keywords were deprecated in Octave 3.8 and have been
+    removed from Octave 4.0
+
+      static
+
+ ** The following configuration variables were deprecated in Octave 3.8
+    and have been removed from Octave 4.0
+
+      CC_VERSION  (now GCC_VERSION)
+      CXX_VERSION (now GXX_VERSION)
+
+ ** The internal function atan2 of the sparse matrix class has been deprecated
+    in Octave 4.0 and will be removed from Octave 4.4 (or whatever version is
+    the second major release after 4.0).  Use the Fatan2 function with sparse
+    inputs as a replacement.
+
+ ** The internal class Octave_map was deprecated in Octave 3.8 and has
+    been removed from Octave 4.0.  Replacement classes are
+    octave_map (struct array) or octave_scalar_map for a single structure.
+
+ ** The configure option --enable-octave-allocator has been removed.
+    The internal class octave_allocator declared in oct-alloc.h has
+    been removed.  The header remains, but is deprecated.  The macros to
+    access the class (DECLARE_OCTAVE_ALLOCATOR, DEFINE_OCTAVE_ALLOCATOR,
+    and DEFINE_OCTAVE_ALLOCATOR2) are now unconditionally defined to be
+    empty.
+
+ ** Octave now has OpenMP enabled by default if the system provides a
+    working OpenMP implementation.  This allows oct-file modules to take
+    advantage of OpenMP if desired.  This can be disabled when building
+    Octave with the configure option --disable-openmp.
+
+ ** Octave now automatically truncates intermediate calculations done with
+    floating point values to 64 bits.  Some hardware math co-processors, such
+    as the x87, maintain extra precision, but this leads to disagreements in
+    calculations when compared to reference implementations in software using
+    the IEEE standard for double precision.  There was no measurable
+    performance impact to this change, but it may be disabled with the
+    configure option --disable-float-truncate.  MinGW and Cygwin platforms,
+    as well as GCC compilers >= 5.0 require this feature.  Non-x87 hardware,
+    or hardware using SSE options exclusively, can disable float truncation
+    if desired.
+</pre>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/NEWS-4.2.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,257 @@
+---
+layout: page
+title: GNU Octave Version 4.2
+menu: false
+permalink: NEWS-4.2.html
+---
+
+## Summary of important user-visible changes
+
+November 13, 2016
+
+{% include release_news_select.md %}
+
+<pre>
+ ** The parser has been extended to accept, but ignore, underscore
+    characters in numbers.  This facilitates writing more legible code
+    by using '_' as a thousands separator or to group nibbles into bytes
+    in hex constants.
+
+    Examples: 1_000_000 == 1e6  or  0xDE_AD_BE_EF
+
+ ** The parser has been extended to understand binary numbers which
+    begin with the prefix '0b' or '0B'.  The value returned is Octave's
+    default numeric class of double, not at unsigned integer class.
+    Therefore numbers greater than flintmax, i.e., 2^53, will lose some
+    precision.
+
+    Examples: 0b101 == 5  or  0B1100_0001 == 0xC1
+
+ ** gnuplot 4.4 is now the minimum version supported by Octave.
+
+ ** The default set of colors used to plot lines has been updated to be
+    compatible with Matlab's new default color scheme.  The line plot
+    color scheme can be set with the axes property "ColorOrder".
+
+ ** The default colormap is now set to "viridis" which is also the
+    default colormap in matplotlib.  This new colormap fixes some of the
+    main issues with the old default colormap "jet" such as its bad
+    "luminance profile" and is also more similar to Matlab's new default
+    colormap "parula".
+
+ ** The colormap function no longer supports the input argument "list"
+    to show built-in colormaps.  Use "help colormap" to find the
+    built-in colormaps.
+
+ ** The graphics command "hold on" now ensures that each new plot added
+    to an existing plot has a different color or linestyle according to
+    the "ColorOrder" and/or "LineStyleOrder" properties.  This is
+    equivalent to the old command "hold all" and was made for Matlab
+    compatibility.  Existing code *may* produce differently colored
+    plots if it did not specify the color for a plot and relied on each
+    new plot having the default first color in the "ColorOrder"
+    property.
+
+ ** When starting, Octave now looks in the function path for a file
+    startup.m and executes any commands found there.  This change was
+    made to accommodate Matlab users.  Octave has it's own configuration
+    system based on the file .octaverc which is preferred.
+
+ ** Octal ('\NNN') and hex ('\xNN') escape sequences in single quoted
+    strings are now interpreted by the function do_string_escapes().
+    The *printf family of functions now supports octal and hex escape
+    sequences in single-quoted strings for Matlab compatibility.
+
+ ** Special octal and hex escape sequences for the pattern and
+    replacement strings in regular expressions are now interpreted for
+    Matlab compatibility.
+
+    octal: '\oNNN' or '\o{NNN}'
+    hex  : '\xNN'  or '\x{NN}'
+
+ ** Unknown escape sequences in the replacement string for regexprep are
+    now substituted with their unescaped version and no warning is
+    emitted.  This change was made for Matlab compatibility.
+
+    Example: regexprep ('a', 'a', 'x\yz')
+             => 'xyz'
+
+ ** mkfifo now interprets the MODE argument as an octal, not decimal,
+    integer.  This is consistent with the equivalent shell command.
+
+ ** linspace now returns an empty matrix if the number of requested
+    points is 0 or a negative number.  This change was made to be
+    compatible with Matlab releases newer than 2011.  In addition,
+    Octave no longer supports matrix inputs for A or B.
+
+ ** The cov function now returns the complex conjugate of the result
+    from previous versions of Octave.  This change was made for
+    compatibility with Matlab.
+
+ ** condest now works with a normest1 compatible syntax.
+
+ ** The griddata function no longer plots the interpolated mesh if no
+    output argument is requested, instead the vector or array of
+    interpolated values is always returned for Matlab compatibility.
+
+ ** The new function "light" and the corresponding graphics object
+    provide light and shadow effects for patch and surface objects.
+
+ ** The surfnorm function now returns unnormalized (magnitude != 1)
+    normal vectors for compatibility with Matlab.
+
+ ** The normal vectors returned from isonormals have been reversed to
+    point towards smaller values for compatibility with Matlab.
+
+ ** The quadl function now uses an absolute, rather than relative,
+    tolerance for Matlab compatibility.  The default tolerance is 1e-6
+    which may result in lower precision results than previous versions
+    of Octave which used eps as the relative tolerance.  The quadl
+    function has also been extended to return a second output with the
+    total number of function evaluations.
+
+ ** The textscan function is now built-in and is much faster and much
+    more Matlab-compatible than the previous m-file version.
+
+ ** Dialog boxes--errordlg, helpdlg, inputdlg, listdlg, msgbox,
+    questdlg, and warndlg--now exclusively use Qt for rendering.
+    Java based versions have been removed.
+
+ ** The axes properties "TitleFontSizeMultiplier" and "TitleFontWeight"
+    are now implemented which control the default appearance of text
+    created with title().
+    The axes property "LabelFontSizeMultiplier" is now implemented
+    which controls the default appearance of text created with
+    xlabel(), ylabel(), or zlabel().
+
+ ** The graphics property "box" for axes now defaults to "off".
+    To obtain equivalent plots to previous versions of Octave use
+      set (0, "DefaultAxesBox", "on");
+    in your .octaverc file.
+
+ ** The graphics property "boxstyle" has been implemented.  The default
+    is "back" which draws only the back planes in a 3-D view.  If the
+    option is "full" then all planes are drawn.
+
+ ** The graphics property "erasemode" has been hidden, and will
+    eventually be removed.  This property has also been removed
+    from Matlab, and was never implemented in Octave.
+
+ ** The graphics property "graphicssmoothing" for figures now controls
+    whether anti-aliasing will be used for lines.  The default is "on".
+
+ ** The value "zero" for the axes properties "xaxislocation" and
+    "yaxislocation" has been deprecated and will be removed from
+    Octave 4.6.  Use "origin" instead.
+
+ ** The publish function allows easy publication of Octave script files
+    in HTML or other formats, including figures and output created by
+    this script.  It comes with its counterpart grabcode, which lets one
+    literally grab the HTML published code from a remote website, for
+    example.
+
+ ** The value of the MEX variable TrapFlag now defaults to 0, which will
+    cause Octave to abort execution of a MEX file and return to the
+    prompt if an error is encountered in mexCallMATLAB.
+
+ ** The MEX API now includes the function mexCallMATLABWithTrap.  This
+    function will not abort if an error occurs during mexCallMATLAB, but
+    instead will return execution to the MEX function for error
+    handling.
+
+ ** The MEX API functions for input validation that begin with "mxIs"
+    (e.g., mxIsDouble, mxIsEmpty, etc.) now return type bool rather than
+    type int.
+
+ ** The functions mxAssert and mxAssertS for checking assertions have
+    been added.  In order to avoid a performance penalty they are only
+    compiled in to debug versions of a MEX file, i.e., that are produced
+    when the '-g' option is given to mex or mkoctfile.
+
+ ** Other new MEX API functions include mexEvalStringWithTrap,
+    mxIsScalar, mxCreateUninitNumericArray, mxCreateUninitNumericMatrix.
+
+ ** Other new functions added in 4.2:
+
+      audioformats
+      camlight
+      condeig
+      deg2rad
+      dialog
+      evalc
+      hash
+      im2double
+      isocaps
+      lighting
+      localfunctions
+      material
+      normest1
+      ode23
+      ode45
+      odeget
+      odeplot
+      odeset
+      padecoef
+      profexport
+      psi
+      rad2deg
+      reducepatch
+      reducevolume
+      smooth3
+      uibuttongroup
+
+ ** Deprecated functions.
+
+    The following functions have been deprecated in Octave 4.2 and will
+    be removed from Octave 4.6 (or whatever version is the second major
+    release after 4.2):
+
+      Function             | Replacement
+      ---------------------|------------------
+      bitmax               | flintmax
+      mahalanobis          | mahal in Octave-Forge statistics pkg
+      md5sum               | hash
+      octve_config_info    | __octave_config_info__
+      onenormest           | normest1
+      sleep                | pause
+      usleep               | pause
+      wavread              | audioread
+      wavwrite             | audiowrite
+
+ ** The following functions were deprecated in Octave 3.8 and have been
+    removed from Octave 4.2.
+
+      default_save_options    java_new
+      gen_doc_cache           java_unsigned_conversion
+      interp1q                javafields
+      isequalwithequalnans    javamethods
+      java_convert_matrix     re_read_readline_init_file
+      java_debug              read_readline_init_file
+      java_invoke             saving_history
+
+ ** The global error_state variable in Octave's C++ API has been
+    deprecated and will be removed in a future version.  Now the error
+    and print_usage functions throw an exception
+    (octave::execution_exception) after displaying the error message.
+    This makes the error and print_usage functions in C++ work more like
+    the corresponding functions in the scripting language.
+
+ ** The default error handlers in liboctave have been updated to use
+    exceptions.  After displaying an error message they no longer return
+    control to the calling program.  The error handler function can be
+    customized through the global variables
+    "current_liboctave_error_handler" and
+    "current_liboctave_error_with_id_handler".  If a programmer has
+    installed their own custom error handling routines when directly
+    linking with liboctave then these must be updated to throw an
+    exception and not return to the calling program.
+
+ ** The system for common errors and warnings has been renamed from
+    gripe_XXX to either err_XXX if error is called or warn_XXX if
+    warning is called.  The gripe_XXX functions are deprecated and will
+    be removed in version 4.6.
+
+ ** New configure option, --enable-address-sanitizer-flags, to build
+    Octave with memory allocator checks (similar to those in valgrind)
+    built in.
+</pre>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/NEWS-4.4.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,391 @@
+---
+layout: page
+title: GNU Octave Version 4.4
+menu: false
+permalink: NEWS-4.4.html
+---
+
+## Summary of important user-visible changes
+
+April 30, 2018
+
+{% include release_news_select.md %}
+
+<pre>
+ ** A graphical Variable Editor has been added to the GUI interface.
+    It uses a spreadsheet-like interface for quick, intuitive editing
+    of variables.  The Variable Editor is launched by double-clicking
+    on a variable name in the Workspace Window or by typing
+    "openvar VARIABLE_NAME" in the Command Window.
+
+ ** On systems with 64-bit pointers, --enable-64 is now the default and
+    Octave always uses 64-bit indexing.  However, if the configure
+    script determines that the BLAS library uses 32-bit integers, then
+    operations using the following libraries are limited to arrays with
+    dimensions that are smaller than 2^31 elements:
+
+      BLAS  LAPACK  QRUPDATE  SuiteSparse  ARPACK
+
+    Additionally, the following libraries use "int" internally, so
+    maximum problem sizes are always limited:
+
+      glpk  Qhull
+
+ ** The octave command no longer starts the GUI by default.  Most users
+    starting Octave from a shell were expecting the command line
+    interface, and desktop launchers already required the `--force-gui'
+    option.  With this change, desktop launchers should be modified to
+    use the new option `--gui'.  The previous `--force-gui' option will
+    continue to work, and maps to `--gui', but it will be removed in
+    Octave 6.
+
+ ** A known bug in Qt (https://bugreports.qt.io/browse/QTBUG-55357) is
+    addressed by limiting GUI sub-panel relocation capabilities for Qt
+    versions in the range >= 5.6.1 and < 5.7.1.  However, this may not
+    thoroughly avoid issues on all platforms.
+
+ ** A new container data type--containers.Map--is available.  Map is a
+    key/value storage container (a.k.a, a hash) that efficiently allows
+    storing and retrieving values by name, rather than by position which
+    is how arrays work.
+
+ ** The bareword "import" is now recognized in scripts and functions.
+    However, the functionality to import functions and classes from
+    other namespaces into the local scope has not yet been implemented.
+    Attempting to use "import" will provoke an error message.
+
+ ** hex2num and num2hex now work for integer and char types and num2hex
+    may optionally return a cell array of strings instead of a character
+    array.  If given a cell array of strings, hex2num now returns a
+    numeric array of the same size as the input cell array.  Previously,
+    hex2num would accept a cell array of strings of arbitrary dimension
+    but would always return a column vector.
+
+ ** New special functions cosint, sinint, and gammaincinv have been added.
+
+ ** Special functions in Octave have been rewritten for larger input
+    domains, better accuracy, and additional options.
+    * gammainc now accepts negative real values for X.
+    * improved accuracy for gammainc, betainc, betaincinv, expint.
+    * gammainc has new options "scaledlower" and "scaledupper".
+    * betainc, betaincinv have new option "upper".
+
+ ** The "names" option used in regular expressions now returns a struct
+    array, rather than a struct with a cell array for each field.  This
+    change was made for Matlab compatibility.
+
+ ** The quadcc function now uses both absolute tolerance and relative
+    tolerance to determine the stopping criteria for an integration.
+    To be compatible with other quadXXX functions, such as quadgk, the
+    calling syntax has changed to
+
+      quadcc (f, a, b, [AbsTol, [RelTol]])
+
+    To update existing code, change instances of RelTol to [0, RelTol].
+
+      quadcc (f, a, b, tol) => quadcc (f, a, b, [0, tol])
+
+    A warning that a single tolerance input is now interpreted as an
+    absolute tolerance will be issued in Octave versions 4.4 and 5,
+    after which it will be removed.  The warning has ID
+    "Octave:quadcc:RelTol-conversion" and can be disabled with
+
+      warning ("off", "Octave:quadcc:RelTol-conversion")
+
+ ** The qr function now returns a standard factorization unless
+    explicitly instructed to perform an economy factorization by using a
+    final argument of 0.
+
+ ** The Qt graphics toolkit now supports offscreen printing without osmesa
+    if Octave was built with Qt >= 5.1.
+
+ ** The built-in pager for display of large data is now disabled by
+    default.  To re-enable it for every Octave session add the following
+    to your .octaverc file:
+
+      more on;
+
+ ** The FLTK toolkit is no longer prioritized for development.  The
+    number of Octave Maintainers is too small to support three different
+    graphic toolkits.  New development will target the Qt toolkit.
+    While no longer prioritized, the FLTK toolkit is not deprecated and
+    there is no schedule for its removal.
+
+ ** The graphic object property "PickableParts" has been implemented
+    which controls whether an object can accept mouse clicks.
+
+ ** The graphic object property "Interruptible" has been fully
+    implemented which controls whether a running callback function can
+    be interrupted by another callback function.
+
+ ** The graphic object property "HitTest" has been updated to be fully
+    compatible with Matlab.
+
+ ** Text objects now implement the properties "BackgroundColor",
+    "EdgeColor", "LineStyle", "LineWidth", and "Margin".
+
+ ** An initial implementation of alpha transparency has been made for
+    patch and surface objects.  Printing to svg and pdf is supported.
+
+ ** ishandle now returns true for both graphics handle objects and
+    Java objects.  The latter change was made for Matlab compatibility.
+    Use ishghandle or isgraphics if it is important not to include Java
+    objects.
+
+ ** The pkg command now accepts a URL as an argument, allowing a valid
+    Octave package to be installed from any remote host with one command,
+    for example
+
+      pkg install https://example.org/download/example-package.tar.gz
+
+ ** The following statistical functions have been moved from core
+    Octave to the statistics package available from Octave Forge.
+
+    BASE
+      cloglog
+      logit
+      prctile
+      probit
+      qqplot
+      table  (renamed to crosstab)
+
+    DISTRIBUTIONS
+      betacdf
+      betainv
+      betapdf
+      betarnd
+      binocdf
+      binoinv
+      binopdf
+      binornd
+      cauchy_cdf
+      cauchy_inv
+      cauchy_pdf
+      cauchy_rnd
+      chi2cdf
+      chi2inv
+      chi2pdf
+      chi2rnd
+      expcdf
+      expinv
+      exppdf
+      exprnd
+      fcdf
+      finv
+      fpdf
+      frnd
+      gamcdf
+      gaminv
+      gampdf
+      gamrnd
+      geocdf
+      geoinv
+      geopdf
+      geornd
+      hygecdf
+      hygeinv
+      hygepdf
+      hygernd
+      kolmogorov_smirnov_cdf
+      laplace_cdf
+      laplace_inv
+      laplace_pdf
+      laplace_rnd
+      logistic_cdf
+      logistic_inv
+      logistic_pdf
+      logistic_rnd
+      logncdf
+      logninv
+      lognpdf
+      lognrnd
+      nbincdf
+      nbininv
+      nbinpdf
+      nbinrnd
+      normcdf
+      norminv
+      normpdf
+      normrnd
+      poisscdf
+      poissinv
+      poisspdf
+      poissrnd
+      stdnormal_cdf
+      stdnormal_inv
+      stdnormal_pdf
+      stdnormal_rnd
+      tcdf
+      tinv
+      tpdf
+      trnd
+      unidcdf
+      unidinv
+      unidpdf
+      unidrnd
+      unifcdf
+      unifinv
+      unifpdf
+      unifrnd
+      wblcdf
+      wblinv
+      wblpdf
+      wblrnd
+      wienrnd
+
+    MODELS
+      logistic_regression
+
+    TESTS
+      anova
+      bartlett_test
+      chisquare_test_homogeneity
+      chisquare_test_independence
+      cor_test
+      f_test_regression
+      hotelling_test
+      hotelling_test_2
+      kolmogorov_smirnov_test
+      kolmogorov_smirnov_test_2
+      kruskal_wallis_test
+      manova
+      mcnemar_test
+      prop_test_2
+      run_test
+      sign_test
+      t_test
+      t_test_2
+      t_test_regression
+      u_test
+      var_test
+      welch_test
+      wilcoxon_test
+      z_test
+      z_test_2
+
+ ** The following image functions have been moved from core Octave to
+    the image package available from Octave Forge.
+
+      ntsc2rgb
+      rgb2ntsc
+
+ ** Other new functions added in 4.4:
+
+      bounds
+      camlookat
+      camorbit
+      campos
+      camroll
+      camtarget
+      camup
+      camva
+      camzoom
+      corrcoef
+      cosint
+      decic
+      erase
+      gammaincinv
+      getframe
+      groot
+      gsvd
+      hgtransform
+      humps
+      integral
+      integral2
+      integral3
+      isgraphics
+      isstring
+      mad
+      ode15i
+      ode15s
+      openvar
+      quad2d
+      repelem
+      rgb2gray
+      rticks
+      sinint
+      tfqmr
+      thetaticks
+      vecnorm
+      winqueryreg
+      xticklabels
+      xticks
+      yticklabels
+      yticks
+      zticklabels
+      zticks
+
+ ** Deprecated functions.
+
+    The following functions have been deprecated in Octave 4.4 and will
+    be removed from Octave 6 (or whatever version is the second major
+    release after 4.4):
+
+      Function             | Replacement
+      ---------------------|------------------
+      chop                 | sprintf for visual results
+      desktop              | isguirunning
+      tmpnam               | tempname
+      toascii              | double
+      java2mat             | __java2mat__
+
+
+ ** The following functions were deprecated in Octave 4.0 and have been
+    removed from Octave 4.4.
+
+      allow_noninteger_range_as_index
+      bicubic
+      delaunay3
+      do_braindead_shortcircuit_evaluation
+      dump_prefs
+      find_dir_in_path
+      finite
+      fmod
+      fnmatch
+      gmap40
+      loadaudio
+      luinc
+      mouse_wheel_zoom
+      nfields
+      octave_tmp_file_name
+      playaudio
+      saveaudio
+      setaudio
+      syl
+      usage
+
+ ** The "Octave:undefined-return-values" warning ID is obsolete.  Octave
+    now throws an error for any attempts to assign undefined values that
+    might be returned from functions.
+
+ ** Deprecated graphics properties.
+
+    The following properties or allowed corresponding values have been
+    deprecated in Octave 4.4 and will be removed from Octave 6 (or whatever
+    version is the second major release after 4.4):
+
+      Object               | Property                | Value
+      ---------------------|-------------------------|-------------------
+      figure               | doublebuffer            |
+                           | mincolormap             |
+                           | wvisual                 |
+                           | wvisualmode             |
+                           | xdisplay                |
+                           | xvisual                 |
+                           | xvisualmode             |
+      axes                 | drawmode                |
+      annotation           | edgecolor ("rectangle") |
+      text                 | fontweight              | "demi" and "light"
+      uicontrol            | fontweight              | "demi" and "light"
+      uipanel              | fontweight              | "demi" and "light"
+      uibuttongroup        | fontweight              | "demi" and "light"
+
+ ** The rectangle and ellipse annotation property "edgecolor" has been
+    deprecated and will be removed from Octave 6 (or whatever version
+    is the second major release after 4.4).  Use the property "color"
+    instead.
+
+ ** The header file oct-alloc.h has been removed along with the macros
+    that it defined (DECLARE_OCTAVE_ALLOCATOR, DEFINE_OCTAVE_ALLOCATOR,
+    and DEFINE_OCTAVE_ALLOCATOR2).
+</pre>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/NEWS-5.1.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,323 @@
+---
+layout: page
+title: GNU Octave Version 5
+menu: false
+permalink: NEWS-5.1.html
+---
+
+## Summary of important user-visible changes
+
+February 23, 2019
+
+{% include release_news_select.md %}
+
+{::options parse_block_html="true" /}
+<div class="panel callout">
+* TOC
+{:toc}
+</div>
+{::options parse_block_html="false" /}
+
+### General improvements
+
+- The Octave plotting system now supports high resolution screens,
+  i.e., those with greater than 96 DPI which are referred to as
+  HiDPI/Retina monitors.
+
+- Unicode character support for files and folders in Windows.
+
+- A new core function `movfun` will apply a function to a sliding
+  window of arbitrary size on a dataset and accumulate the results.
+  Many common cases have been implemented using the naming
+  scheme `movXXX` where `XXX` is the function that will be applied.
+  For example, the moving average over a dataset is `movmean`.
+  New moving window functions:
+
+  `movfun`  `movslice`
+  `movmad`  `movmax`   `movmean`  `movmedian`  `movmin`  `movprod`
+  `movstd`  `movsum`   `movvar`
+
+- The `fsolve` function has been tweaked to use larger step sizes when
+  calculating the Jacobian of a function with finite differences.
+  This leads to faster convergence.
+
+- The `ranks` function has been recoded for performance and is now 25X
+  faster.  In addition, it now supports a third argument that specifies
+  how to resolve the ranking of tie values.
+
+- The function `randi` has been recoded to produce an unbiased (all
+  results are equally likely) sample of integers.  This may produce
+  different results in existing code.  If it is necessary to reproduce
+  the exact random integer sequence as in previous versions use
+
+  `ri = imin + floor ((imax - imin + 1) * rand ());`
+
+- The function `isdefinite` now returns `true` or `false` rather than
+  `-1`, `0`, or `1`.  To test for a positive semi-definite matrix (old
+  output of `0`) check whether the following two conditions hold:
+
+    `isdefinite (A) => 0`  and  `isdefinite (A + 5*TOL, TOL) => 1`
+
+- The `intmax`, `intmin`, and `flintmax` functions now accept a variable
+  as input.  Existing code to query the range of an existing variable can
+  be simplified by removing the call to `class` that was previously
+  required.  For example defining the variable `x = int8 (3)` in the
+  workspace, calls like
+
+    `range = [ intmin(class(x)), intmax(class(x)) ]`
+
+  can in Octave 5 be simplified to `range = [ intmin(x), intmax(x) ]`.
+
+- The path handling functions no longer perform variable or brace
+  expansion on path elements and Octave's load-path is no longer
+  subject to these expansions.
+
+- A new printing device is available, `"-ddumb"`, which produces ASCII
+  art for plots.  This device is only available with the gnuplot toolkit.
+
+
+### Dependencies
+
+- The GUI requires Qt libraries.  The minimum Qt4 version supported is
+  Qt4.8.  Qt5 of any version is preferred.
+
+- The OSMesa library is no longer used.  To print invisible figures
+  when using OpenGL graphics, the Qt `QOFFSCREENSURFACE` feature must be
+  available and you must use the qt graphics toolkit.
+
+- The FFTW library is now required to perform FFT calculations.
+  The FFTPACK sources have been removed from Octave.
+
+
+### Matlab compatibility
+
+- The determination of an object's dimensions, size, and shape by the
+  functions `ndims`, `rows`, `columns`, `isscalar`, `isvector`,
+  `isrow`, `iscolumn`, `ismatrix`, and `issquare` now fully depends
+  on the function size.  Thus, any user-defined object can ensure correct
+  treatment by the aforementioned functions by properly overloading the
+  `size` function.
+
+- The functions `issymmetric` and `ishermitian` accept an option
+  `"nonskew"` or `"skew"` to calculate the symmetric or skew-symmetric
+  property of a matrix.  Performance has also been increased.
+
+- The `issorted` function now uses a direction option of `"ascend"`
+  or `"descend"`.  Change all uses of `"ascending"` and `"descending"`
+  in existing code to the new options.
+
+- The `strncmp` and `strncmpi` functions now return `true` if the two
+  input strings match, even though the number of characters specified
+  by `n` exceeds the string length.  For Example:
+
+    `strncmp ("abc", "abc", 100)`
+
+  returns `true` in Octave 5 and `false` in older versions of Octave.
+
+- The `str2func` function no longer accepts a second `"global"` argument.
+  This argument was typically used to allow functions that accept
+  function names as arguments to avoid conflicts with subfunctions or
+  nested functions.  Instead, it's best to avoid this situation
+  entirely and require users to pass function handles rather than
+  function names.
+
+- Using `clear` with no arguments now removes only local variables
+  from the current workspace.  Global variables will no longer be
+  visible, but they continue to exist in the global workspace and
+  possibly other workspaces such as the base workspace.
+
+
+#### Nonlinear Equations
+
+Several default solver options have been changed to be Matlab compatible.
+This *may* result in existing code producing different results.
+
+- `fsolve`
+
+  Option         |   New Default    | Old Default
+  ---------------|------------------|-------------
+  `FinDiffType`  |    `"forward"`   |  `"central"`
+  `MaxFunEvals`  | `100*length(x0)` |    `Inf`
+  `TolFun`       |     `1e-6`       |    `1e-7`
+  `TolX`         |     `1e-6`       |    `1e-7`
+  `Updating`     |     `"off"`      |    `"on"`
+
+- `fminsearch`
+
+  Option   | New Default | Old Default
+  ---------|-------------|------------
+  `TolFun` |   `1e-7`    |   `1e-4`
+
+- `fminbnd`
+
+  Option         | New Default | Old Default
+  ---------------|-------------|------------
+  `MaxFunEvals`  |     `500`   |   `Inf`
+  `MaxIter`      |     `500`   |   `Inf`
+  `TolX`         |    `1e-4`   |   `1e-8`
+
+- `fminunc`
+
+  Option         |   New Default    | Old Default
+  ---------------|------------------|------------
+  `FinDiffType`  |   `"forward"`    | `"central"`
+  `MaxFunEvals`  | `100*length(x0)` |   `Inf`
+  `TolX`         |     `1e-6`       |   `1e-7`
+  `TolFun`       |     `1e-6`       |   `1e-7`
+
+
+#### Graphic objects
+
+- Figure graphic objects have a new property `"Number"` which is
+  read-only and will return the handle (number) of the figure.
+  However, if the property `"IntegerHandle"` has been set to `"off"`
+  then the property will return an empty matrix `[]`.
+
+- Patch and surface graphic objects now use the `"FaceNormals"` property
+  for flat lighting.
+
+- `"FaceNormals"` and `"VertexNormals"` for patch and surface graphic
+  objects are now calculated only when necessary to improve graphics
+  performance.  In order for any normals to be calculated the
+  `"FaceLighting"` property must be set to `"flat"` (FaceNormals) or
+  `"gouraud"` (VertexNormals), **and** a light object must be present
+  in the axes.
+
+- The `"Margin"` property of `text`-objects has a new default of `3`
+  rather than `2`.
+
+- Printing to raster formats (bitmaps like PNG or JPEG) now uses an
+  OpenGL-based method by default.  The print options `"-opengl"`
+  (raster) and `"-painters"` (vector) have been added ("qt" toolkit
+  only).  The figure property `"renderer"` specifies which renderer to
+  use.  When the property `"renderermode"` is `"auto"` Octave will select
+  `"-opengl"` for a raster output format and `"-painters"` for a vector
+  output format.
+
+- A new print option `"-RGBImage"` has been added which captures the
+  pixels of a figure as an image.  This is similar to screen capture
+  tools, except that print formatting options can be used to, for
+  example, change the resolution or display the image in black and
+  white.
+
+- Two new print options for page-based formats (PDF, PostScript) have
+  been added.  The `"-fillpage"` option will stretch the plot to occupy
+  the entire page with 0.25 inch margins all around.  The `"-bestfit"`
+  option will expand the plot to take up as much room as possible on
+  the page without distorting the original aspect ratio of the plot.
+
+- Printing using the `"-dtiff"` output device will now create compressed
+  images using LZW compression.  To produce uncompressed images use the
+  `"-dtiffn"` device.
+
+
+### Legacy functions
+
+The following functions have been declared legacy functions which
+means they are obsolete and should not be used in any new code.
+Unlike deprecated functions, however, their removal from Octave has
+not yet been scheduled.
+
+  Function               | Replacement
+  -----------------------|------------------
+  `findstr`              | `strfind`
+  `flipdim`              | `flip`
+  `isdir`                | `isfolder` or `dir_in_loadpath`
+  `isequalwithequalnans` | `isequaln`
+  `isstr`                | `ischar`
+  `setstr`               | `char`
+  `strmatch`             | `strncmp` or `strcmp`
+  `strread`              | `textscan`
+  `textread`             | `textscan`
+
+
+### Deprecated functions and properties
+
+The following functions and graphics properties have been deprecated
+in Octave 5 and will be removed from Octave 7 (or whatever version
+is the second major release after 5):
+
+- Functions
+
+  Function                 | Replacement
+  -------------------------|-------------------
+  `output_max_field_width` | `output_precision`
+  `is_keyword`             | `iskeyword`
+
+- Graphics properties
+
+  Object           | Property      | Value
+  -----------------|---------------|------------
+  `text`           | `fontangle`   | `"oblique"`
+  `uibuttongroup`  | `fontangle`   | `"oblique"`
+  `uicontrol`      | `fontangle`   | `"oblique"`
+  `uipanel`        | `fontangle`   | `"oblique"`
+  `uitable`        | `fontangle`   | `"oblique"`
+
+- Specifying `legend` position with a numeric argument is deprecated.
+  Use a string argument instead.
+
+- The environment variable used by `mkoctfile` for linker flags is now
+  `LDFLAGS` rather than `LFLAGS`.  `LFLAGS` is deprecated, and a warning
+  is emitted if is used, but it will continue to work.
+
+
+### Removed functions and properties
+
+The following functions and properties were deprecated in Octave 4.2
+and have been removed from Octave 5.
+
+- Functions
+
+  Function               | Replacement
+  -----------------------|------------------
+  `bitmax`               | `flintmax`
+  `mahalanobis`          | `mahal` in Octave Forge statistics pkg
+  `md5sum`               | `hash`
+  `octave_config_info`   | `__octave_config_info__`
+  `onenormest`           | `normest1`
+  `sleep`                | `pause`
+  `usleep`               | `pause`
+  `wavread`              | `audioread`
+  `wavwrite`             | `audiowrite`
+
+- Properties
+
+  Object      | Property          | Value
+  ------------|-------------------|---------
+  `axes`      | `xaxislocation`   | `"zero"`
+              | `yaxislocation`   | `"zero"`
+  `hggroup`   | `erasemode`       |
+  `image`     | `erasemode`       |
+  `line`      | `erasemode`       |
+  `patch`     | `erasemode`       |
+  `patch`     | `normalmode`      |
+  `surface`   | `erasemode`       |
+  `surface`   | `normalmode`      |
+  `text`      | `erasemode`       |
+
+
+### Alphabetical list of new functions added in 5
+
+- `clearvars`
+- `isfile`
+- `isfolder`
+- `matlab.lang.makeUniqueStrings`
+- `matlab.lang.makeValidName`
+- `movegui`
+- `movfun`
+- `movie`
+- `movmad`
+- `movmax`
+- `movmean`
+- `movmedian`
+- `movmin`
+- `movprod`
+- `movslice`
+- `movstd`
+- `movsum`
+- `movvar`
+- `openfig`
+- `ordeig`
+- `savefig`
+- `uitable`
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/about.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,96 @@
+---
+layout: page
+title: About
+menu: true
+permalink: about
+---
+
+GNU Octave is a high-level language, primarily intended for numerical
+computations.
+It provides a convenient command line interface for solving linear and
+nonlinear problems numerically,
+and for performing other numerical experiments using a language that is mostly
+compatible with Matlab.
+It may also be used as a batch-oriented language.
+
+Octave has extensive tools for solving common numerical linear algebra problems,
+finding the roots of nonlinear equations,
+integrating ordinary functions,
+manipulating polynomials,
+and integrating ordinary differential and differential-algebraic equations.
+It is easily extensible and customizable via user-defined functions written in
+Octave's own language,
+or using dynamically loaded modules written in C++, C, Fortran,
+or other languages.
+
+GNU Octave is also freely redistributable software.
+You may redistribute it and/or modify it under the terms of the
+[GNU General Public License (GPL)][GPL] as published by the
+[Free Software Foundation](https://www.fsf.org/).
+
+Octave was written by [John W. Eaton](mailto:jwe@octave.org) and
+[many others](https://hg.savannah.gnu.org/hgweb/octave/file/tip/doc/interpreter/contributors.in).
+Because Octave is [free software](https://www.gnu.org/philosophy/free-sw.html) you are encouraged to help make Octave
+more useful by writing and contributing additional functions for it,
+and by reporting any problems you may have.
+
+
+## History
+
+Octave was originally conceived (in about 1988) to be companion software for an
+undergraduate-level textbook on chemical reactor design being written by James
+B. Rawlings of the University of Wisconsin-Madison and John G. Ekerdt of the
+University of Texas.
+We originally envisioned some very specialized tools for the solution of
+chemical reactor design problems.
+Later,
+after seeing the limitations of that approach,
+we opted to attempt to build a much more flexible tool.
+
+There were still some people who said that we should just be using Fortran
+instead,
+because it is the computer language of engineering,
+but every time we had tried that,
+the students spent far too much time trying to figure out why their Fortran
+code failed and not enough time learning about chemical engineering.
+We believed that with an interactive environment like Octave,
+most students would be able to pick up the basics quickly,
+and begin using it confidently in just a few hours.
+
+Full-time development began in the Spring of 1992.
+The first alpha release was January 4, 1993, and version 1.0 was released
+February 17, 1994.
+Since then, Octave has been through several major revisions,
+is included with [Debian GNU/Linux](https://www.debian.org/),
+[openSUSE](https://www.opensuse.org/),
+and many other GNU/Linux distributions.
+Octave was reviewed in the in the July, 1997 issue of the
+[Linux Journal](http://www.linuxjournal.com/article/1225).
+
+Clearly,
+Octave is now much more than just another courseware package with limited
+utility beyond the classroom.
+Although our initial goals were somewhat vague,
+we knew that we wanted to create something that would enable students to solve
+realistic problems,
+and that they could use for many things other than chemical reactor design
+problems.
+Today, thousands of people worldwide are using Octave in teaching,
+research, and commercial applications.
+
+Just about everyone thinks that the name Octave has something to do with music,
+but it is actually the name of one of the author's former professor
+[Octave Levenspiel](https://en.wikipedia.org/wiki/Octave_Levenspiel)
+who wrote a famous textbook on chemical reaction engineering,
+and who was also well known for his ability to do quick "back of the envelope"
+calculations.
+We hope that this software will make it possible for many people to do more
+ambitious computations just as easily.
+
+Everyone is encouraged to share this software with others under the terms of
+the [GNU General Public License (GPL)][GPL].
+You are also encouraged to help make Octave more useful by writing and
+contributing additional functions for it,
+and by reporting any problems you may have.
+
+[GPL]: https://www.gnu.org/copyleft/gpl.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/bugs.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,76 @@
+---
+layout: page
+title: Bugs
+menu: true
+permalink: bugs
+---
+
+GNU Octave uses the bug tracker at [Savannah]({{ site.bugs_url }}).
+There you can [report a new bug]({{ site.bugs_url }}&func=additem),
+[browse recent bugs]({{ site.bugs_url }}),
+or [search for bugs]({{ site.bugs_url }}&func=search).
+
+### Guidelines for reporting a new bug
+
+1. **Is the bug already known?**
+
+   - [Search for already reported bugs at the bug tracker]({{ site.bugs_url }}&func=search),
+   - look at the
+     [list of known causes of trouble]({{ site.docs_url }}/Trouble.html)
+     in the Octave manual.
+
+   <p></p>
+
+   If you your problem **does not appear** to be known,
+   then you should report the problem.
+
+2. **Is it really a bug?**
+
+   - If Octave **crashes**, for any input whatever, that is a bug.
+     Reliable interpreters never crash.
+   - If Octave produces **incorrect results**, for any input whatever,
+     that is a bug.
+   - If Octave produces an **error message** for **valid input**, that is a bug.
+   - If Octave produces **no error message** for **invalid input**,
+     that is a bug.
+
+   <p></p>
+
+3. **Missing function in Octave**
+
+   - If the function is
+     [part of some Octave Forge package]({{ site.sourceforge_url }}/functions_by_alpha.php),
+     this is **not** a bug.
+   - If the function **exists in Matlab**,
+     but **not in core Octave** and **not in Octave Forge packages**,
+     that is a bug.
+
+   <p></p>
+
+   It might take several months or years until for new features to become part
+   of Octave, consider
+   [commercial support]({{ "commercial-support.html" | relative_url }})
+   if you don't want to wait that long).
+
+4. **Make your bug report count**
+
+   - **Report all the facts:**<br>
+     Include all information that make it possible to fix the bug.
+     If you are not sure whether to state a fact or leave it out, state it.
+     This information includes your **operating system**, **Octave version**,
+     **exact error message** or **exact output**.
+   - **Give a short, specific, complete example:**<br>
+     Avoid: pseudocode, uninitialized variables,
+     calls to unattached scripts or functions.
+   - **Justify your exectations briefly:**<br>
+     Although it might seem obvious to you,
+     someone examining the problem might not know what result you consider
+     correct.
+
+
+### Sending Patches for Octave
+
+If you have a suggested fix for a bug,
+please attach it to your report in the tracker.
+Your patch is more likely to be reviewed if you follow the guidelines from the
+Octave Wiki about the [creation of changesets]({{ site.wiki_url }}/Mercurial).
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/commercial-support.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,54 @@
+---
+layout: page
+title: Commercial Support
+menu: false
+permalink: commercial-support
+---
+
+The following organizations and individuals provide paid consulting services
+for Octave.  If you have questions about them, please visit their web sites
+or contact them individually.  This list is provided as a service to the
+community and the support providers.  The Octave project does not provide
+endorsements or recommendations.
+
+If you would like to have your company listed here,
+please contact us at [Octave Discourse]({{ site.discourse_url }})
+in the "maintainers" category.
+
+- [**John W. Eaton Consulting, Inc.**][2] provides software consulting and
+  support services, primarily for GNU Octave, a free software system for
+  numerical analysis.  Services include help with installing and using the
+  software, as well as prompt responses to problem reports.
+
+  As the original author and current maintainer of GNU Octave, Dr. Eaton is
+  uniquely qualified to deliver the most comprehensive solutions for your
+  Octave needs.
+
+- [**MOXOFF**][3] provides custom programming and custom numerical modeling
+  solutions based on free software tools and in particular on GNU Octave.
+
+  MOXOFF applies mathematics and statistical analysis to complex, multiphysics
+  problems.  Our approach covers a broad spectrum of fields: we run applied
+  research and develop innovative mathematical solutions for engineering,
+  life science and social science problems.  Our skills can be applied to a
+  wide range of subjects: bio-technologies, aerospace design, domestic
+  appliances, conventional and renewable power generation, electronics,
+  financial instruments, analysis and simulation of geological processes,
+  biomedical equipment to cite just a few of our more recent projects.
+  We deliver business-class solutions based on GNU Octave and we also provide
+  evolutive maintenance.  We design GNU Octave based interfaces to free
+  software tools for scientific computing.
+
+- [**CoCalc**][4] is an online service that provides GNU Octave via Linux
+  Terminals, Jupyter Notebooks and X11 desktops, with full support for realtime
+  collaboration.  Moreover, CoCalc features a course management system that is
+  tailored for teaching courses online.
+
+  The company Sagemath, Inc. develops and operates CoCalc.  You can start
+  working with the [online service][5] for free and upgrade later for a better
+  experience.  You can also run your own CoCalc on-premises.
+
+[2]: https://jweaton.org
+[3]: https://www.moxoff.com/moxoff-partner-di-octave/
+[4]: https://cocalc.com/doc/octave.html
+[5]: https://cocalc.com
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/community-news.html	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,40 @@
+---
+layout: null
+permalink: community-news
+---
+
+<!--
+
+This is the community news page for Octave.  It is displayed in the
+"Community News" display area of the Octave GUI.  It should not have
+the usual page header that other pages on the Octave web site have.
+The following string must be present for Octave to recognize and
+display this page as the community news page.  Don't forget to increment
+the `community-news-page-serial` number by one in order to show new
+entries in the GUI:
+
+  this-is-the-gnu-octave-community-news-page
+  community-news-page-serial=13
+
+-->
+
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Octave Community News</title>
+</head>
+<body>
+
+{% for post in site.categories.release limit:3 %}
+
+<h2><a href="{{ post.url | absolute_url }}">{{ post.title }}</a></h2>
+
+{{ post.excerpt }}
+
+<small><em>&mdash; The Octave Developers, {{ post.date | date: "%b %-d, %Y" }}</em></small>
+
+{% endfor %}
+
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/donate.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,30 @@
+---
+layout: page
+title: Donate
+menu: true
+permalink: donate
+---
+
+> **Octave development takes a lot of time and expertise.**
+> **Your contributions help to ensure that Octave will continue to improve.**
+
+- [FSF Donation Page](https://crm.fsf.org/civicrm/contribute/transact?reset=1&id=10)
+- [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UYHVW7R596RZ8)
+  to John W. Eaton Consulting, Inc. (Octave project leader)
+- [Bitcoin](bitcoin:1E6HchBMX1EfiJQhSUanuF4VYKk552tEHF)
+  (1E6HchBMX1EfiJQhSUanuF4VYKk552tEHF)
+- [Commercial support options]({{ "commercial-support.html" | relative_url }})
+  to implement the specific features
+
+If you are already an Octave user and would like to see it improve more rapidly,
+then please donate so that we can spend more of our time working on Octave.
+If we could raise as little as $300,000/year,
+we could pay several key developers to work full time on Octave.
+Given even the most conservative estimate of the number of users of Octave,
+this amount could easily be reached if every user contributed the cost of
+a few lattes.
+
+If your company has a budget for numerical computing tools,
+consider spending 10% (or more!) of that on Octave.
+Do you expect Octave to improve on a $0 budget
+while the proprietary tools are well-funded by your license fees?
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/download.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,131 @@
+---
+layout: page
+title: Download
+menu: true
+permalink: download
+---
+
+<div class="button-group large expanded stacked-for-small">
+  <a class="button" href="#source">Source</a>
+  <a class="button" href="#linux">GNU/Linux</a>
+  <a class="button" href="#macos">macOS</a>
+  <a class="button" href="#bsd">BSD</a>
+  <a class="button" href="#ms-windows">MS Windows</a>
+</div>
+
+
+<p id="source">&nbsp;</p>
+
+### Source {#source2}
+
+The latest released version of Octave is always available from
+
+- https://ftp.gnu.org/gnu/octave
+- ftp://ftp.gnu.org/gnu/octave
+
+Please download from
+[https://ftpmirror.gnu.org/octave](https://ftpmirror.gnu.org/octave),
+which will redirect automatically to a nearby
+[mirror site](https://www.gnu.org/order/ftp.html).
+
+
+<p id="linux">&nbsp;</p>
+
+### GNU/Linux {#linux2}
+
+Packaged versions of Octave for GNU/Linux systems are provided by the
+individual distributions described in the
+[Octave wiki]({{ site.wiki_url }}/Category:Installation).
+These packages are created by volunteers.
+The delay between an Octave source release and the availability of a package
+for a particular GNU/Linux distribution varies.
+
+Alternatively,
+there are some distribution independent installation methods for more recent
+versions of GNU Octave described in the
+[Octave wiki]({{ site.wiki_url }}/Octave_for_GNU/Linux#Distribution_independent).
+
+
+<p id="macos">&nbsp;</p>
+
+### macOS {#macos2}
+
+The [Octave Wiki]({{ site.wiki_url }}/Octave_for_macOS) has instructions for
+installing Octave on macOS systems.
+Octave is also available in third-party package managers such as
+[Homebrew](https://brew.sh/) and [MacPorts](https://www.macports.org).
+
+
+<p id="bsd">&nbsp;</p>
+
+### BSD {#bsd2}
+
+Executable versions of Octave for BSD systems are provided by the individual
+distributions.
+Both [FreeBSD](https://www.freebsd.org/) and [OpenBSD](https://www.openbsd.org/)
+have Octave packages.
+These packages are created by volunteers and the Octave project has no control
+over that process.
+
+
+<p id="ms-windows">&nbsp;</p>
+
+### Microsoft Windows {#ms-windows2}
+
+<div class="primary callout small" data-closable>
+<b>Note:</b> All installers below bundle several <b>Octave Forge packages</b>
+so they don't have to be installed separately.
+After installation type <code>pkg list</code> to list them.
+<a href="{{ site.wiki_url }}/Octave_for_Microsoft_Windows">Read more.</a>
+<a href="#ms-windows" class="close-button" aria-label="Dismiss alert" type="button" data-close>
+  <span aria-hidden="true">&times;</span>
+</a>
+</div>
+
+- Windows-64 (recommended)
+  - [octave-5.2.0_1-w64-installer.exe](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-installer.exe)
+    (~ 300 MB)
+    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-installer.exe.sig)
+  - [octave-5.2.0_1-w64.7z](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64.7z)
+    (~ 300 MB)
+    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64.7z.sig)
+  - [octave-5.2.0_1-w64.zip](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64.zip)
+    (~ 530 MB)
+    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64.zip.sig)
+
+<p></p>
+
+- Windows-32 (old computers)
+  - [octave-5.2.0_1-w32-installer.exe](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w32-installer.exe)
+    (~ 275 MB)
+    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w32-installer.exe.sig)
+  - [octave-5.2.0_1-w32.7z](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w32.7z)
+    (~ 258 MB)
+    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w32.7z.sig)
+  - [octave-5.2.0_1-w32.zip](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w32.zip)
+    (~ 447 MB)
+    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w32.zip.sig)
+
+<p></p>
+
+- Windows-64 (64-bit linear algebra for large data)
+  <br><small>
+  Unless your computer has more than ~32GB of memory
+  <strong>and</strong> you need to solve linear algebra problems
+  with arrays containing more than ~2 billion elements, this
+  version will offer no advantage over the recommended Windows-64
+  version above.
+  </small>
+
+  - [octave-5.2.0_1-w64-64-installer.exe](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-64-installer.exe)
+    (~ 286 MB)
+    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-64-installer.exe.sig)
+  - [octave-5.2.0_1-w64-64.7z](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-64.7z)
+    (~ 279 MB)
+    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-64.7z.sig)
+  - [octave-5.2.0_1-w64-64.zip](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-64.zip)
+    (~ 490 MB)
+    [[signature]](https://ftpmirror.gnu.org/octave/windows/octave-5.2.0_1-w64-64.zip.sig)
+
+All Windows binaries with corresponding source code can be downloaded from
+[https://ftpmirror.gnu.org/octave/windows/](https://ftpmirror.gnu.org/octave/windows/).
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/get-involved.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,45 @@
+---
+layout: page
+title: Get Involved
+menu: true
+permalink: get-involved
+---
+
+We always need more help improving Octave
+and there are many ways you can contribute.
+You can help by fixing bugs,
+developing new features,
+writing [Octave Forge packages]({{ site.sourceforge_url }}),
+answering questions in Discourse,
+helping to improve the web pages.
+If you are wondering what to work on,
+we have a standard answer:
+**What would you like to work on?**
+
+For some inspiration,
+we do maintain a [list of possible projects]({{ site.wiki_url }}/Projects)
+and a [Developer FAQ]({{ site.wiki_url }}/Developer_FAQ) on the Octave Wiki.
+
+If know what to contribute,
+discuss your ideas with us on [Discourse]({{ site.discourse_url }})
+("maintainers" category) or on our IRC
+[Freenode `{{ site.irc_channel }}` channel](https://webchat.freenode.net/#octave).
+
+
+### Using the Development Sources
+
+The latest development sources of GNU Octave are available via
+[Mercurial](https://www.mercurial-scm.org/) (hg).
+The primary repository address is
+[https://www.octave.org/hg/octave](https://www.octave.org/hg/octave),
+which currently redirects to
+[https://hg.savannah.gnu.org/hgweb/octave](https://hg.savannah.gnu.org/hgweb/octave).
+You obtain the latest development version of Octave sources with the following
+command:
+
+{% highlight text %}
+hg clone https://www.octave.org/hg/octave
+{% endhighlight %}
+
+The [Developer FAQ]({{ site.wiki_url }}/Developer_FAQ) on the Octave Wiki
+contains more detailed and recent information about Octave development.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/index.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,158 @@
+---
+layout: default
+permalink: index
+---
+
+<div class="primary callout" data-closable>
+  <h5>
+    Need help? Try out our new user and developer forum
+    <a href="https://octave.discourse.group/">Octave Discourse</a>.
+  </h5>
+  <button class="close-button" aria-label="Dismiss alert" type="button" data-close>
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+
+<div class="grid-x grid-margin-x">
+  <div class="cell medium-6">
+    <a href="#"  data-open="meshModal">
+      <img src="{{ "/img/example-mesh.svg" | relative_url }}"
+            style="height: 400px; width: auto;" alt="Example mesh">
+    </a>
+  </div>
+  <div class="cell auto">
+    <h2 class="landing-page-logo">
+      <img src="{{ "/img/octave-logo.svg" | relative_url }}"
+            style="float: left; height: 48px; width: auto; padding-right: 0.5rem"
+            alt="GNU Octave logo">
+      GNU Octave
+    </h2>
+    <h4>Scientific Programming Language</h4>
+    <ul>
+      <li>Powerful mathematics-oriented syntax with built-in 2D/3D plotting and visualization tools</li>
+      <li>Free software, runs on GNU/Linux, macOS, BSD, and Microsoft Windows</li>
+      <li>Drop-in compatible with many Matlab scripts</li>
+    </ul>
+    <div class="button-group stacked">
+      <a href="{{ "download.html" | relative_url }}" class="button">Download</a>
+      <a href="{{ site.docs_url }}" class="button">Documentation</a>
+    </div>
+  </div>
+</div>
+
+### Syntax Examples
+
+The Octave syntax is largely compatible with Matlab.
+The Octave interpreter can be run in
+<a href="#" data-open="guiModal">GUI mode</a>, as a console,
+or invoked as part of a shell script.
+More Octave examples can be found in
+[the Octave wiki]({{ site.wiki_url }}/Using_Octave).
+
+<div class="grid-x grid-margin-x">
+  <div class="cell medium-4" >
+    <p>
+      Solve systems of equations with linear algebra operations on
+      <strong>vectors</strong> and <strong>matrices</strong>.
+    </p>
+  </div>
+  <div class="cell auto">
+{%- include code1.html -%}
+<!--
+{%- highlight octave -%}
+b = [4; 9; 2] # Column vector
+A = [ 3 4 5;
+      1 3 1;
+      3 5 9 ]
+x = A \ b     # Solve the system Ax = b
+{%- endhighlight -%}
+-->
+  </div>
+</div>
+
+<div class="grid-x grid-margin-x">
+  <div class="cell medium-4">
+    <p>
+      Visualize data with <strong>high-level plot commands</strong>
+      in 2D and 3D.
+    </p>
+  </div>
+  <div class="cell auto">
+{%- include code2.html -%}
+<!--
+{%- highlight octave -%}
+x = -10:0.1:10; # Create an evenly-spaced vector from -10..10
+y = sin (x);    # y is also a vector
+plot (x, y);
+title ("Simple 2-D Plot");
+xlabel ("x");
+ylabel ("sin (x)");
+{%- endhighlight -%}
+-->
+    <a href="#" class="button small-only-expanded" data-open="plotModal">Click here to see the plot output</a>
+  </div>
+</div>
+
+
+### Octave Forge
+
+[Octave Forge]({{ site.sourceforge_url }}) is a collection of high quality
+packages for GNU Octave, similar to Matlab's toolboxes.
+To install a package, use the `pkg` command from the Octave prompt by typing:
+
+{% highlight text %}
+pkg install -forge package_name
+pkg load package_name
+{% endhighlight %}
+
+<a href="{{ site.sourceforge_url }}/packages.php" class="button small-only-expanded">Browse Packages</a>
+
+
+### Development
+
+Octave is free software licensed under the
+[GNU General Public License (GPL)]({{ "license.html" | relative_url }}).
+Assuming you have Mercurial installed on your machine you may obtain the latest
+development version of Octave sources with the following command:
+
+{% highlight text %}
+hg clone https://www.octave.org/hg/octave
+{% endhighlight %}
+
+[Get involved]({{ "/get-involved.html" | relative_url }}) in Octave development.
+
+
+{% assign latest_post = site.posts.first %}
+{% if latest_post %}
+  <div class="primary callout">
+      <a class="float-right button tiny warning" href="{{ "/feed.xml" | relative_url }}">
+        RSS
+      </a>
+    <h3 class="entry-title">
+      <a href="{{ latest_post.url | relative_url }}">{{ latest_post.title }}</a>
+    </h3>
+    <p class="post-meta">{{ latest_post.date | date: "%b %-d, %Y" }}</p>
+    <div class="entry-content">{{ latest_post.excerpt }}</div>
+  </div>
+{% endif %}
+
+<div class="large reveal" id="meshModal" data-reveal>
+  <img src="{{ "/img/example-mesh.svg" | relative_url }}" alt="Example mesh">
+  <button class="close-button" data-close aria-label="Close modal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+
+<div class="large reveal" id="plotModal" data-reveal>
+  <img src="{{ "/img/example-plot.svg" | relative_url }}" alt="Example plot">
+  <button class="close-button" data-close aria-label="Close modal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+
+<div class="large reveal" id="guiModal" data-reveal>
+  <img src="{{ "/img/GNU_Octave_4-4-0_screenshot_1600x900.png" | relative_url }}" alt="GNU Octave GUI screenshot">
+  <button class="close-button" data-close aria-label="Close modal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/license.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,35 @@
+---
+layout: page
+title: License
+menu: false
+permalink: license
+---
+
+The source code for Octave is freely redistributable under the
+terms of the [GNU General Public License (GPL)][1] as published by
+the [Free Software Foundation][2].
+
+Simply put, the GPL says that anyone who redistributes the
+software, with or without changes, must pass along the freedom to
+further copy and change it.  By distributing the complete source
+code for GNU Octave under the terms of the GPL, we guarantee that
+you and all other users will have the freedom to redistribute and
+change Octave.
+
+Releasing the source code for Octave has another benefit as well.
+By having access to all of the source code for a mathematical
+system like Octave, you have the ability to see *exactly*
+how each and every computation is performed.  There are no black
+boxes that hide the details of any calculation.
+
+Although enhancements to Octave that are written as function files
+in Octave's scripting language are not required to be
+redistributed under the terms of the GPL, we encourage you to
+release your enhancements to Octave under the same terms for the
+benefit of all users.  We also encourage you to
+[get involved with the Octave project][3] and submit your changes
+for inclusion in future versions of Octave.
+
+[1]: https://www.gnu.org/copyleft/gpl.html
+[2]: https://www.fsf.org/
+[3]: {{ "get-involved.html" | relative_url }}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/missing.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,22 @@
+---
+layout: page
+title: Missing function
+menu: false
+permalink: missing
+---
+
+If you are reading this page,
+it is most likely because you attempted to use a function
+that is part of Matlab,
+but has yet to be implemented in Octave.
+GNU Octave strives to be among the very best numerical tools available.
+While compatibility with Matlab is one of many strong features of Octave,
+we have not achieved 100% compatibility.
+
+This is what you can do now:
+
+- Check if the function is
+  [part of some Octave Forge package]({{ site.sourceforge_url }}/functions_by_alpha.php)
+- [Report a bug]({{ "bugs.html" | relative_url }})
+- [Implement the feature yourself]({{ "get-involved.html" | relative_url }})
+- [Get commercial support]({{ "commercial-support.html" | relative_url }})
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/news.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,29 @@
+---
+layout: page
+title: News
+menu: true
+permalink: news
+---
+
+{% for post in site.posts %}
+<div class="primary callout">
+  {% if post == site.posts.first %}
+  <a class="float-right button tiny warning" href="{{ "/feed.xml" | relative_url }}">
+    RSS
+  </a>
+  {% endif %}
+  {% if post.title == "News Archive" %}
+  <h3 class="entry-title">
+    <a href="{{ post.url | relative_url }}">{{ post.title }}</a>
+  </h3>
+  {% else %}
+  <h3 class="entry-title">
+    <a href="{{ post.url | relative_url }}">{{ post.title }}</a>
+  </h3>
+  <p class="post-meta">{{ post.date | date: "%b %-d, %Y" }}</p>
+  <div class="entry-content">
+    {{ post.excerpt }}
+  </div>
+  {% endif %}
+</div>
+{% endfor %}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/support-expectations.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,112 @@
+---
+layout: page
+title: Support Expectations
+menu: false
+permalink: support-expectations
+---
+
+Octave is a capable free software system for numerical computing developed
+primarily by a community of **volunteers**.
+As good as Octave is,
+there are certainly some flaws and a lot of room for improvement.
+Most people who use Octave understand these things
+and know that if they work together with the community bugs will be fixed,
+features will be added,
+and Octave will improve over time.
+Working with people who have this kind of attitude is fun and rewarding.
+
+Unfortunately,
+there are a few people who behave as though the community owes them support as
+well as a 100% Matlab compatible system,
+all at zero cost.
+**Working with these people is no fun.**
+If you approach the Octave community this way,
+you are sure to be disappointed.
+You should also not be surprised when your requests for help are ignored.
+
+
+### Development Group
+
+People sometimes think that Octave is developed by some large team of well-paid
+programmers.
+Nothing could be further from the truth.
+Most of the initial development of Octave was done by one person over several
+years.
+Since then,
+there have been at most a half-dozen or so volunteers working on Octave
+at any one time.
+You can see who has done most of the work by looking through the
+[development history](https://hg.savannah.gnu.org/hgweb/octave)
+(prior to February 2008 it is best to look in the old `ChangeLog` files).
+Currently,
+none of the Octave developers are paid to work on Octave directly.
+
+If you would like to see Octave moving forward more quickly,
+then contribute to its development,
+either by working on the project yourself,
+or by [donating funds]({{ "donation.html" | relative_url }}).
+With sufficient funding,
+the Octave project would be able to pay a few developers to work on it full
+time.
+
+
+### Help
+
+When asking for help on Discourse or IRC channel,
+or reporting a bug,
+remember that the people helping you are Octave users just like you
+who are volunteering their time.
+They are not paid support staff.
+Use meaningful subject lines.
+Try to ask clear questions.
+Be precise about the problems you are having.
+
+
+### Bugs
+
+No software is perfect,
+and Octave is no exception.
+You can search the list of bug reports to see what problems have been reported.
+In looking at the list,
+you might also noticed the number of problems that have been *fixed*.
+Nearly all of these problems have been fixed by volunteers.
+If you find a problem,
+you are encouraged to [report it]({{ "bugs.html" | relative_url }}).
+Your report can help to improve Octave,
+but you should not think of the bug tracker as your personal support line.
+
+If you depend on Octave and absolutely must have prompt responses to problem
+reports,
+you should consider paying for
+[commercial support]({{ "commercial-support.html" | relative_url }}).
+
+
+### Features
+
+When we say that Octave is "mostly compatible" with Matlab,
+we mean that the language that it accepts is similar enough that a substantial
+amount of code written for Matlab can also run in Octave without needing to be
+changed.
+But Octave does not have all the features of Matlab,
+and it is unlikely that it ever will.
+Given that Matlab is developed in secret and Octave developers only find out
+about new Matlab features when new versions of Matlab are released,
+it is clearly impossible for Octave to have new Matlab features as soon as they
+are available in Matlab.
+
+In most cases,
+Octave has the features that it does because someone decided to add them
+because they needed them.
+If you have the programming skills perhaps you can add the features you need.
+If you not,
+then consider paying for someone to implement the feature for you.
+Most people who provide
+[commercial support]({{ "commercial-support.html" | relative_url }})
+services for Octave will also take on custom programming projects.
+
+Even if you don't have the expertise required to implement new features or
+can't pay for someone to do the work for you,
+you may submit feature requests to the bug tracker.
+But you should understand that unless you are paying for someone to to add the
+feature,
+no one is obligated to do it for you.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/support.md	Thu Sep 10 17:47:36 2020 +0900
@@ -0,0 +1,48 @@
+---
+layout: page
+title: Support/Help
+menu: true
+permalink: support
+---
+
+#### Contact the **user community**
+
+<div style="margin-left: 2em;" markdown="1">
+The Octave user community is a loosely organized association of **volunteers**.
+Your interactions with the community will be better if you have the
+[right expectations about the support options]({{ "support-expectations.html" | relative_url }})
+available to you.
+</div>
+
+<div style="margin-left: 2em;" markdown="1">
+- [**Discourse**]({{ site.discourse_url }}) &mdash;
+  the main chat portal for Octave users and developers.
+- **IRC**: Chat with users and developers on the
+  [Freenode `{{ site.irc_channel }}` channel](https://webchat.freenode.net/#octave).
+- Browse the
+  [**mailing list archives**](https://lists.gnu.org/archive/html/help-octave/).
+</div>
+
+
+#### Get [**commercial support**]({{ "commercial-support.html" | relative_url }})
+
+<div style="margin-left: 2em;" markdown="1">
+- Setup assistance
+- Custom feature implementation
+</div>
+
+
+#### Read the **GNU Octave Manual**
+
+<div style="margin-left: 2em;" markdown="1">
+- [Web version]({{ site.docs_url }})
+- [PDF version]({{ "octave.pdf" | relative_url }})
+- Type `doc` inside Octave
+</div>
+
+
+#### Browse the [Octave Wiki]({{ site.wiki_url }})
+
+<div style="margin-left: 2em;" markdown="1">
+- Read [Frequently Asked Questions (FAQ)]({{ site.faq_url }})
+</div>
--- a/support-expectations.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
----
-layout: page
-title: Support Expectations
-menu: false
----
-
-Octave is a capable free software system for numerical computing developed
-primarily by a community of **volunteers**.
-As good as Octave is,
-there are certainly some flaws and a lot of room for improvement.
-Most people who use Octave understand these things
-and know that if they work together with the community bugs will be fixed,
-features will be added,
-and Octave will improve over time.
-Working with people who have this kind of attitude is fun and rewarding.
-
-Unfortunately,
-there are a few people who behave as though the community owes them support as
-well as a 100% Matlab compatible system,
-all at zero cost.
-**Working with these people is no fun.**
-If you approach the Octave community this way,
-you are sure to be disappointed.
-You should also not be surprised when your requests for help are ignored.
-
-
-### Development Group
-
-People sometimes think that Octave is developed by some large team of well-paid
-programmers.
-Nothing could be further from the truth.
-Most of the initial development of Octave was done by one person over several
-years.
-Since then,
-there have been at most a half-dozen or so volunteers working on Octave
-at any one time.
-You can see who has done most of the work by looking through the
-[development history](https://hg.savannah.gnu.org/hgweb/octave)
-(prior to February 2008 it is best to look in the old `ChangeLog` files).
-Currently,
-none of the Octave developers are paid to work on Octave directly.
-
-If you would like to see Octave moving forward more quickly,
-then contribute to its development,
-either by working on the project yourself,
-or by [donating funds]({{ "donation.html" | relative_url }}).
-With sufficient funding,
-the Octave project would be able to pay a few developers to work on it full
-time.
-
-
-### Help
-
-When asking for help on Discourse or IRC channel,
-or reporting a bug,
-remember that the people helping you are Octave users just like you
-who are volunteering their time.
-They are not paid support staff.
-Use meaningful subject lines.
-Try to ask clear questions.
-Be precise about the problems you are having.
-
-
-### Bugs
-
-No software is perfect,
-and Octave is no exception.
-You can search the list of bug reports to see what problems have been reported.
-In looking at the list,
-you might also noticed the number of problems that have been *fixed*.
-Nearly all of these problems have been fixed by volunteers.
-If you find a problem,
-you are encouraged to [report it]({{ "bugs.html" | relative_url }}).
-Your report can help to improve Octave,
-but you should not think of the bug tracker as your personal support line.
-
-If you depend on Octave and absolutely must have prompt responses to problem
-reports,
-you should consider paying for
-[commercial support]({{ "commercial-support.html" | relative_url }}).
-
-
-### Features
-
-When we say that Octave is "mostly compatible" with Matlab,
-we mean that the language that it accepts is similar enough that a substantial
-amount of code written for Matlab can also run in Octave without needing to be
-changed.
-But Octave does not have all the features of Matlab,
-and it is unlikely that it ever will.
-Given that Matlab is developed in secret and Octave developers only find out
-about new Matlab features when new versions of Matlab are released,
-it is clearly impossible for Octave to have new Matlab features as soon as they
-are available in Matlab.
-
-In most cases,
-Octave has the features that it does because someone decided to add them
-because they needed them.
-If you have the programming skills perhaps you can add the features you need.
-If you not,
-then consider paying for someone to implement the feature for you.
-Most people who provide
-[commercial support]({{ "commercial-support.html" | relative_url }})
-services for Octave will also take on custom programming projects.
-
-Even if you don't have the expertise required to implement new features or
-can't pay for someone to do the work for you,
-you may submit feature requests to the bug tracker.
-But you should understand that unless you are paying for someone to to add the
-feature,
-no one is obligated to do it for you.
--- a/support.md	Mon Jul 20 16:14:52 2020 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
----
-layout: page
-title: Support/Help
-menu: true
----
-
-#### Contact the **user community**
-
-<div style="margin-left: 2em;" markdown="1">
-The Octave user community is a loosely organized association of **volunteers**.
-Your interactions with the community will be better if you have the
-[right expectations about the support options]({{ "support-expectations.html" | relative_url }})
-available to you.
-</div>
-
-<div style="margin-left: 2em;" markdown="1">
-- [**Discourse**]({{ site.discourse_url }}) &mdash;
-  the main chat portal for Octave users and developers.
-- **IRC**: Chat with users and developers on the
-  [Freenode `{{ site.irc_channel }}` channel](https://webchat.freenode.net/#octave).
-- Browse the
-  [**mailing list archives**](https://lists.gnu.org/archive/html/help-octave/).
-</div>
-
-
-#### Get [**commercial support**]({{ "commercial-support.html" | relative_url }})
-
-<div style="margin-left: 2em;" markdown="1">
-- Setup assistance
-- Custom feature implementation
-</div>
-
-
-#### Read the **GNU Octave Manual**
-
-<div style="margin-left: 2em;" markdown="1">
-- [Web version]({{ site.docs_url }})
-- [PDF version]({{ "octave.pdf" | relative_url }})
-- Type `doc` inside Octave
-</div>
-
-
-#### Browse the [Octave Wiki]({{ site.wiki_url }})
-
-<div style="margin-left: 2em;" markdown="1">
-- Read [Frequently Asked Questions (FAQ)]({{ site.faq_url }})
-</div>