@@ -37,13 +37,6 @@ This version is still under active development, and not finalized yet.
3737NOTE: This release cycle has been redesignated v3.8.0. There will not be a
3838v3.7.1 release proper.
3939
40- Performance Improvements
41- ------------------------
42-
43- - Significantly improved parsing speed of skipped conditional blocks (e.g. in
44- `#if(false) ... #end`), especially for blocks containing few directives
45- (stuff that begins with `#`).
46-
4740Changed Behaviour
4841-----------------
4942
@@ -61,6 +54,33 @@ Changed Behaviour
6154 - Token counting in conditional blocks (e.g. in `#if ... #end`) has changed.
6255 Whenever such a block is skipped, the token count is now incremented only
6356 by directives (stuff that begins with `#`).
57+ - UV mapping of cylinder, cone and lemon primitives has been disabled again
58+ for now, due to their orientation being poorly defined.
59+ - An age-old bug in the inbuilt `f_enneper` isosurface function has been
60+ fixed; the function now results in the originally intended shape.
61+ - The `defined()` pseudo-function now returns `true` (while printing a
62+ warning) if applied to reserved words. The `#ifdef` and `#ifndef` directives
63+ also behave accordingly.
64+
65+ New Features
66+ ------------
67+
68+ - The `ovus` primitive has been extended in multiple ways. See the
69+ documentation (currently being maintained on <http://wiki.povray.org>) for
70+ details.
71+ - Anti-aliasing now supports a new mode 3, which can actually serve as a
72+ generic oversampling mechanism not only suited to perform edge
73+ anti-aliasing, but also to successtully suppress moire patterns as well as
74+ reduce image noise from stochastic mechanisms (e.g. jittered area lights,
75+ subsurface light transport or micronormals). The mathematical background
76+ and parameterization is similar to that of adaptive focal blur.
77+
78+ Performance Improvements
79+ ------------------------
80+
81+ - Significantly improved parsing speed of skipped conditional blocks (e.g. in
82+ `#if(false) ... #end`), especially for blocks containing few directives
83+ (stuff that begins with `#`).
6484
6585Fixed or Mitigated Bugs
6686-----------------------
@@ -85,27 +105,62 @@ Reported via the Newsgroups:
85105 an orthographic camera.
8610687107 (2018-01-05, povray.beta-test, "3.8.0 block pattern, density list parsing issue.")
108+ 109+ (2018-08-27, povray.advanced-users, "Re: It gets even weirder.")
110+ Trying to `#declare Foo[A][B]=...` with `Foo` being an array of arrays and
111+ `Foo[A]` not yet initialized causes a hard crash instead of a parse error.
112+
113+ Reported by Coverity static code analysis:
114+
115+ - CID 986462,986463 (Wrapper object use after free)
116+ - CID 967358-967362 (Uninitialized scalar variable)
117+ - CID 1372542-1372544 (Result is not floating-point)
118+ - CID 1372618 (Uninitialized scalar variable)
119+ - CID 1372629 (Uninitialized pointer read)
120+ - CID 1372630-1372632 (Uninitialized scalar variable)
88121
89122Miscellaneous:
90123
91124 - Fix `interior_texture` for text objects (as mentioned in GitHub issue #65)
92125 - Eliminated use of deprecated C++ `register` keyword (except in 3rd party
93126 libraries bundled with the POV-Ray source code).
127+ - Fix long-standing bug in Julia fractal primitive using hypercomplex numbers.
128+
129+ Development Related
130+ -------------------
131+
132+ - When compiled in debug mode, a new directive `#breakpoint` is now available,
133+ intended for triggering an unconditional breakpoint from the scene file, or
134+ priming a conditional breakpoint. See `Parser::Parse_Breakpoint()` in
135+ `source/parser/parser_tokenizer.cpp` for more details.
136+ - When compiled in debug mode, POV-Ray for Windows will now make do with
137+ the release version of the editor DLLs if it can't find the debug version.
138+ - A new version of the Git pre-commit hook is available; please, copy
139+ `pre-commit` from `tools/git/hooks/` to `.git/hooks/` in your local
140+ repository.
141+ - To simplify version number housekeeping, the file `unix/VERSION` is now
142+ created on the fly by the `unix/prebuild.sh` script, and has been dropped
143+ from the repository. To retrieve version information from the source
144+ package, use one of the new `get-source-version.*` scripts provided in
145+ `tools/unix/` and `tools/windows/`, respectively.
146+ - To simplify creating reproducible builds, the Unix build process has been
147+ amended to compile and link source files in a well-defined order.
94148
95149Other Noteworthy
96150----------------
97151
152+ - During alpha development phase, POV-Ray v3.8.0-alpha for Windows will
153+ piggypack on an existing v3.7 installation to allow for raw binary
154+ distribution.
98155 - The source code now requires a C++11-compliant compiler.
99156 - The Unix build process now officially requires Autoconf 2.68 or later.
100157 - Added `--generation` command-line switch to POV-Ray for Unix, which will
101158 cause POV-Ray to print its abbreviated version number to standard output.
102- - To simplify version number housekeeping, the file `unix/VERSION` is now
103- created on the fly by the `unix/prebuild.sh` script, and has been dropped
104- from the repository. To retrieve version information from the source
105- package, use one of the new `get-source-version.*` scripts provided in
106- `tools/unix/` and `tools/windows/`, respectively.
107159 - The `unix/prebuild.sh` script can now be run from the main directory; it is
108160 no longer necessary to change to the unix directory first.
161+ - The `./configure` script can now be run without the `COMPILED_BY=...`
162+ option. In this case it defaults to `$USER <no contact address>`, where
163+ `$USER` is your login name.
109164
110165
111166Changes between 3.7.1-beta.9 and 3.7.1-rc.1
0 commit comments