# Difference between revisions of "Release Notes GeoGebra 4.2"

This page gives an overview of the new features in GeoGebra 4.2 since version 4. Please see our fully revised GeoGebra Help document for more detailed descriptions of each new tool and command.

GeoGebra 4.2 is currently in beta test. Details of how to run it are here: http://www.geogebra.org/forum/viewtopic.php?f=22&t=23208

# Compatibility with GeoGebra 3.2 and GeoGebra 4

Details about compatibility with old versions can be found here: http://wiki.geogebra.org/en/Manual:Compatibility

# General

• Algebra View: options to sort by Construction Order & by Layer
• Settings -> Advanced -> Use Path and Region Parameters: "On" makes Points on objects keep their Path Parameter when the parent object is moved (the behaviour in GeoGebra 4), "Off" makes them stay as close as possible to their old position.
• Double-click on a View's title bar to maximize it
• Logical implication operator added (-> or→) eg a = false → true
• <Alt>-drag on a parabola to rescale it (keeping the vertex fixed)
• <Alt>-drag on a function eg sin(3x+4) to change its period
• When dragging a parabola, the vertex now snaps to grid (if appropriate)
• Buttons can be resized, be made bold & italic or include an image
• Default polarity for mouse wheel zoom changed
• Better (localizable) dynamic texts created by the Area / Length Tools (eg Area of c = 3.14) and the Length Tool now finds arc length for sectors & arcs
• String comparison (eg "AA" < "AB" gives true)
• Improved axis labeling when grid is showing
• Ability to lock xAxis:yAxis ratio
• Set defaults for Inequalities
• All the FitXXX commands can be used on freehand functions
• "Share..." button in the Manage Tools dialog to upload Tools (ie .ggt) to GeoGebra [work in progress]
• Toolbar can now be at the left, right or bottom
• PolyLines can have holes, eg PolyLine[(1, 1), (2, 0), (3, 3.4), (?, ?), (4, 0), (5, 6)]
• Trace dynamic texts (with one variable) to the spreadsheet
• "Select Another" submenu when the user right-clicks on eg 2 Points in the Graphics View
• f(x) =xxx and y=ax+b work without spaces
• bold and italic supported in axis names, eg <i>x</i> or <b>x</b>
• Edit -> Insert Image from -> File / Clipboard
• Help -> Report Bug
• "Copy to Input Bar" removed
• New "Pin" icon in Stylebar. All objects (except Checkboxes, Buttons & Input Boxes) can be pinned to either Graphics View 1 or Graphics View 2, also available by right-clicking an object
• <Alt>dragging a Point on a Path will now take account of the Increment (Object Properties -> Algebra -> Increment)
• Complex numbers are named z_1, z_2, z_3 etc by default (instead of z, w, z_1, w_1, etc)
• "Custom" option for font size (as a percent) in Object Properties

# Improved Tools

You can now just drag a shape to translate it

This now also accepts a single Polygon as input, and creates an independent copy of it which behaves as a vector polygon

This now also accepts a single Polygon as input, and creates an independent copy of it which behaves as a rigid polygon Also when creating a Rigid Polygon from Points, it now uses Vector and PerpendicularVector rather than UnitVector and UnitPerpendicularVector which makes it a bit more flexible (For example you can add a slider to the definition of the second point to make it resizeable).

This now creates a PolyLine rather than an image. It is designed for writing so remains fixed when you pan/zoom. If you want to use it for geometric shapes etc then you can "unpin" it using the icon in the Style Bar.

This now allows intersection of Lines and Parametric Curves

# New Tools

This Tool lets you either sketch a function, or you can draw a freehand circle, segment or polygon and it will be recognized and converted to an exact shape.

# New Functions

• psi(x)
• polygamma(m, x)

The Polygamma function is the (m+1)th derivative of the natural logarithm of the Gamma function, gamma(x) (m=0,1)

• sinIntegral(x)

The Sine Integral function

• cosIntegral(x)

The Cosine Integral function

• expIntegral(x)

The Exponential Integral function

• nroot(x, n)

Calculates the nth root of x

• real(x)

Returns the real part of a complex number

• imaginary(x)

Returns the imaginary part of a complex number

• fractionalPart(x)

Returns the fractional part of x

• zeta(x)

Returns the Riemann Zeta Function of x (real or complex).

# New Commands

• ContingencyTable[ <List of Text>, <List of Text> ]
• ContingencyTable[ <List of Text>, <List of Text>, <Options> ]
• ContingencyTable[ <List of Row Values>, <List of Column Values>, <Frequency Table> ]
• ContingencyTable[ <List of Row Values>, <List of Column Values>, <Frequency Table> , <Options> ]
• VerticalText[ <Text>, <Point> ]
• StickGraph[ <List of x-coordinates>, <List of y-coordinates> ]
• StickGraph[ <List of points> ]
• StickGraph[ <List of x-coordinates >, <List of y-coordinates>, <Boolean Horizontal> ]
• StickGraph[ <List of Points>, <Boolean Horizontal> ]
• StepGraph[ <List of x-coordinates >, <List of y-coordinates> ]
• StepGraph[ <List of Points> ]
• StepGraph[ <List of x-coordinates>, <List of y-coordinates>, <Boolean Join> ]
• StepGraph[ <List of points>, <Boolean Join> ]
• StepGraph[ <List of x-coordinates >, <List of y-coordinates>, <Boolean Join>, <Point style> ]
• StepGraph[ <List of Points>, <Boolean Jump>, <Point style> ]
• BoxPlot[ <yOffset>, <yScale>, <List of Raw Data>, <Boolean Outliers> ]
• BoxPlot[ <yOffset>, <yScale>, <List of Data>, <List of Frequencies>, <Boolean Outliers> ]
• Mean[ <List of Numbers>, <List of Frequencies> ]
• Product[ <List of Numbers>, <List of Frequencies> ]
• SD[ <List of Numbers>, <List of Frequencies> ]
• SampleSD[ <List of Numbers>, <List of Frequencies> ]
• Variance[ <List of Numbers>, <List of Frequencies> ]
• SampleVariance[ <List of Numbers>, <List of Frequencies> ]
• Sum[ <List of Numbers>, <List of Frequencies> ]
• Q1[<List of Numbers>, <List of Frequencies> ]
• Q3[<List of Numbers>, <List of Frequencies> ]
• Median [<List of Numbers>, <List of Frequencies> ]
• SigmaXX[ <List of Numbers>, <List of Frequencies> ]
• ChiSquaredTest[ <Matrix> ]
• ChiSquaredTest[ <List>, <List> ]
• ChiSquaredTest[ <Matrix>, <Matrix> ]
• ZProportionTest [ <Sample Proportion>, <Sample Size>, <Hypothesized Proportion>, <Tail> ]
• ZProportion2Test [ <Sample Proportion 1 >, <Sample Size 1>, <Sample Proportion 2 >, <Sample Size 2>, <Tail> ]
• ZProportionEstimate [ <Sample Proportion >, <Sample Size >, <Level>]
• ZProportion2Estimate [ <Sample Proportion 1>, <Sample Size 1>, <Sample Proportion 2>, <Sample Size 2>, <Level>]
• ZMean2Estimate [ <List of Sample Data 1>, <List of Sample Data 2>, < Sigma 1>, < Sigma 2>, <Level>]
• ZMean2Estimate [ <Sample Mean 1>, <Sigma 1>, <Sample Size 1>, <Sample Mean 2>, <Sigma 2>, <Sample Size 2>, <Level> ]
• ZMeanEstimate [ <List of Sample Data>, < Sigma >, <Level> ]
• ZMeanEstimate [ <Sample Mean>, <Sigma>, <Sample Size>, <Level> ]
• ZMeanTest [ <List of Sample Data>, <Sigma>, <Hypothesized Mean>, <Tail> ]
• ZMeanTest [ <Sample Mean>, <Sigma>, <Sample Size>, <Hypothesized Mean>, <Tail> ]
• ZMean2Test [ <List of Sample Data 1>, <Sigma 1>, <List of Sample Data 2>, <Sigma 2>, <Tail>]
• ZMean2Test [ <Sample Mean 1>, <Sigma 1>, <Sample Size 1>, <Sample Mean 2>, <Sigma 2>, <Sample Size 2>, <Tail> ]
• CountIf[ <Condition>, <Variable>, <List> ]
• KeepIf[ <Condition>, <Variable>, <List> ]
• ParametricDerivative[ <Curve> ]
• Intersect[ <Line>, <Parametric Curve> ]
• FractionText[ <Point> ]
• SetSeed[ <Integer> ]
• RandomBetween[ <Min>, <Max>, <Boolean Fixed> ]
• AttachCopyToView[ <Object>, <View 0|1|2> ]
• AttachCopyToView[ <Object>, <View 0|1|2>, <Point 1>, <Point 2>, <Screen Point 1>, <Screen Point 2> ]
• ContinuedFraction [ <Number>, <Level (Optional)>, <Boolean Shorthand Notation (Optional)> ]
• Invert[ <Function> ]
• InverseLogNormal [ <Mean>, <Standard Deviation>, <Probability> ]
• InverseLogistic [ <Mean>, <Scale>, <Probability> ]
• ScientificText[ <Number> ]
• ScientificText[ <Number>, <Precision> ]
• Length[ <Arc> ]
• SlopeField[ <f(x,y)> ]
• SlopeField[ <f(x,y)>, <Number n> ]
• SlopeField[ <f(x,y)>, <Number n>, <Length Multiplier a> ]
• SlopeField[ <f(x,y)>, <Number n>, <Length Multiplier a>, <Min x>, <Min y>, <Max x>, <Max y> ]
• SetTrace[ <Object>, <Boolean> ]
• ShowAxes[ ]
• ShowAxes[ <Boolean> ]
• ShowAxes[ <View>, <Boolean> ]
• ShowGrid [ ]
• ShowGrid [ <Boolean> ]
• ShowGrid [ <View>, <Boolean> ]
• Flatten[ <List of Lists> ]
• Cubic[ <Point>,<Point>,<Point>,<Number> ]
• TriangleCenter[ <Point>,<Point>,<Point>,<Number> ]
• TriangleCurve[ <Point>,<Point>,<Point>,<Equation in A,B,C> ]
• Trilinear[ <Point>,<Point>,<Point>,<Number>, <Number>, <Number> ]
• Barycenter[ <List of Points>,<List of Weights> ]
• SurdText[ <Number> ]
• SurdText[ <Number>, <List> ]
• SurdText[ <Point> ]
• Function[ <List of Numbers> ]
• Sort[<Values>, <Keys> ]
• Take[ <List>, <Start Position> ]
• Take[ <Text>, <Start Position> ]
• ToBase[< Number>, <Base>]
• FromBase[< Number as Text>, <Base>]
• GetTime[ <Format> ]
• CenterView[ <Center Point> ]
• Locus[ <Slopefield>, <Point> ]
• Locus[ <f(x, y)>, <Point> ]
• RigidPolygon[ <Polygon> ]
• RigidPolygon[ <Polygon>, <Offset x>, <Offset y> ]
• Vertex[ <Inequality> ] (not working yet)

# New LaTeX Commands

• \cr for a linebreak
• \lightviolet
• \lightyellow
• \lightgreen
• \lightorange
• \yellow
• \darkblue
• \lightpurple
• \lightblue
• \maroon
• \lightgray
• \pink
• \gold
• \black
• \orange
• \indigo
• \purple
• \darkgray
• \green
• \silver
• \white
• \lime
• \gray
• \darkgreen
• \magenta
• \cyan
• \red
• \crimson
• \turquoise
• \blue
• \violet
• \brown
• \aqua

# New Keyboard & Mouse Shortcuts

• Ctrl + Shift + E: Open / Close Object Properties View (Note: Ctrl + E to open still works)
• Ctrl + Shift + K: Open / Close CAS View
• Ctrl + Shift + B: Export as HTML5 to the Clipboard
• In Text Tool, Alt + ,   Alt + to move in/out of formula boxes, Alt + Enter,   Alt + ,   Alt + to create a new formula box
• Alt + R: √ (square-root)
• Alt + -: Superscript minus (changed from GeoGebra 4)
• Ctrl + ,   Ctrl + ,   Ctrl + ,   Ctrl + to rescale axes
• Ctrl + : Opens the Symbols popup (Input Bar and Input Boxes etc)

Description of all Keyboard Shortcuts

# New Applet Parameters

Description of all GeoGebra Applet Parameters

# New Command Line Arguments

If you use command line arguments, make sure you allocate enough memory, eg:
` java -Xms32m -Xmx512m -jar geogebra.jar --export=bitmap.png --dpi=300 spiral.ggb`

` --export=<File>` Exports the Graphics View to SVG/PNG/PDF/EMF/EPS as determined by the extension
` --dpi=<Integer>` (only used in conjunction with `--export`)
`--laf=<system|crossplatform>` Change the "Look and Feel" of the GUI

Description of all GeoGebra Command Line Arguments

# New JavaScript commands

• registerLoggerListener(functionName), unregisterLoggerListener(functionName) to access Vernier Go!Motion USB Logger
• registerPenListener(functionName), unregisterPenListener(functionName) to handle pen tool usage
• drawToImage(label,x[],y[]), clearImage(label) to draw
• String evalGeoGebraCAS(String casCommand)
• String evalGeoGebraCAS(String casCommand, boolean printDebugInfo)
• void setPenColor(int red, int green, int blue); values 0 - 255
• void setPenSize(int size); sets pen size size in pixels
• int getPenSize(); return pen size in pixels
• String getPenColor(); returns pen color as RGB hex string (eg #AB1234)
• boolean evalCommand(String cmd, boolean waitForResult)

Description of all GeoGebra JavaScript Methods

# GeoGebra's XML File Format

GeoGebra's XML file format is documented at Reference:XML