Note: This is an archived version of the Blender Developer Wiki (archived 2024). The current developer documentation is available on developer.blender.org/docs.

User:Brecht/Reports/2019

October 7 - 11

  • Branching, buildbot, website changes for transition to bcon3
  • Sculpt: use TBB instead of BLI_task for multithreading
  • GPU: show one-time startup warnings for old Intel drivers with known issues
  • GPU: show more descriptive labels on unsupported GPU dialog
  • Sculpt: support automasking, pose and mask expand for multires
  • Bugfixes
    • Fix T69933: Blender 2.81 doesn't import 2.80 preferences from quick setup screen
    • Fix T70406: crash editing keyframes while in sculpt mode
    • Fix T70591: missing letters in statusbar keymap display after recent changes
    • Fix T70564: sculpt mask display missing with shape keys or deforming modifiers
    • Fix T70602: error baking with Cycles OpenCL after recent changes
    • Fix T70568, T70570: wrong AMD driver warning dialog

September 30 - October 4

  • Code review
  • Sculpt: mesh filter, mask filter and dirty mask now work with multires
  • Sculpt: enable 3D paint cursor for multires
  • Sculpt: various code cleanups
  • BLI: optimize GSQueue implementation to allocate in chunks, like BLI_Stack
  • macOS: don't require python3 to be installed to run "make update"
  • Fix T70467: large cursors option on Linux not showing clear crosshair
  • Fix T69288: release confirms preference should not affect node editor
  • Fix T70390: dyntopo smooth shading broken after recent changes
  • Fix T70539: file folder color preference not saved

September 23 - 27

  • Code review
  • Sculpt performance:
    • Fix part of T70295: sculpt drawing not clipping PBVH behind the camera
    • Fix part of T70295: sculpt drawing not clipping PBVH nodes outside of viewport
    • Fix unnecessary use of atomics in PBVH normal update
    • Add 888 and 889 debug values for redraw and PBVH node visualizatons
  • Cursors:
    • GHOST: add GHOST_HasWindowCursorShape() to test if standard cursor exists
    • WM: clean up cursors constants and code
  • Fix sequencer Metadata panel sidebar panel to show at the bottom, not the top
  • Fix file browser new directory prompting for confirmation
  • Fix selection and snapping misusing texture space as boundbox
  • Cleanup: remove Mesh.bb and Curve.bb, no reason for these to be persistent

September 16 - 20

  • Code review
  • UI: layout support for fixed size buttons, and use for file browser open/cancel
  • Modifiers: every modifier now copies mesh settings, fixing texture space issues
  • Buildbot: add page that displays all branch builds
  • Fix T67471: hidden particle emitter occludes in Cycles rendered viewport
  • Fix T67724: Cycles renders metaballs with wrong texture space
  • Fix T69993: vertex instancing only works on original vertices
  • Fix T70068: sculpt mode hide masked not working after show all
  • Fix T64855: smooth view not working in Eevee rendered mode
  • Fix missing 3D viewport solid shading mode request for UVs and vertex colors
  • Fix T66154: viewlayer hide/exclude settings getting lost for linked collections
  • Fix excessive dependency graph evaluation while painting strokes
  • Fix preference for file browser and new window not being saved
  • Fix T69809, T69810: sculpt gone or crashing after render
  • Fix T69808: crash using custom Node.draw_label
  • Fix part of T69728: drawing glitches with sculpt dynamic mesh preview
  • Fix T61313: gravity not displayed correct when changing unit scale
  • Fix T69974: crashes in .blend files where 3D viewport was split
  • Fix part of T65397: accidentally assigning shortcuts gives errors

September 9 - 13

  • Code review
  • Finish and commit Cycles Optix
  • Build
    • Output log file to tests/log.txt when running "make test"
    • Add "make test" command for Windows, output log file
    • Skip Blender repository pull in "make update" when not possible
  • Bugfixes:
    • Fix T69785: crash dragging in empty space in edit mode
    • Fix T69782: crash using gizmos in grease pencil edit mode
    • Fix T69754: crash in sculpting after library overrides were enabled
    • Python: don't include distutils Windows installer executables for Linux/macOS
    • Fix T69686: Cycles OpenCL build error after recent changes
    • Fix crashing mask brush after recent changes

September 2 - 6

  • Code review
  • Buildbot
    • Refactor all build slave code
    • Support building releases, make non-releases more consistent
    • Support building arbitrary branches
    • Enable tests
  • Fix Credits link not working in About menu
  • Fix library link errors after building with install_deps.sh on Ubuntu

August 26 - 30

  • Code review
  • Split, benchmark and commit Optix kernel patches that could affect other devices.
  • Build
    • Move "make update" on macOS and Linux to Python script
    • Support updating for release branches in make_update.py, to be used for making release builds on buildbot.
    • Check necessary software is installed for make deps on macOS and Linux
  • Tests
    • Move "make test" on macOS and Linux to Python script
    • Auto download test files when running "make test"
  • GPU: add mechanism for splitting up big gpu_shader_material.glsl file
  • Fix multires modifier using too much memory outside of sculpt mode

August 12 - 16

  • Code review
  • OpenImageDenoise build scripts and library compilation.
  • Build: automatically detect ninja build system when running "make"
  • Work on simplifying multires data structures to support new sculpting tools

August 5

  • Code review
  • Improve tests and developer configuration
    • Build: add ninja target to make wrapper
    • Build: add config for developers
    • Build: disable address sanitizer for Cycles optimized kernels with GCC

July 29 - August 2

  • Blender 2.80 release management
  • Code review
  • Improve tests and developer configuration
    • Fix freestyle tests failing when using WITH_PYTHON_SAFETY
    • Build: disable RTTI for the entire Cycles module, not only the kernel
    • Fix address sanitizer overflow warnings for bit manipulation functions
    • Tests: don't fail on leaks detected by leak sanitizer
    • Fix scene units test failure after recent changes
  • Bugfixes:
    • Fix T68126: Cycles not enabled with factory settings
    • GPU: more complete coverage of drivers for Intel shader compilation workaround

July 22 - 26

  • Blender 2.80 release management
  • Linux: add script and instructions for creating snap packages

July 15 - 19

  • Fix context menu Remove Shortcut not being available for non-keyboard shortcuts
  • Fix T66515, T67112, T61607: failure to read EXR files with single, named layer
  • Fix T67075: make object.visible_get() and similar APIs more forgiving
  • Fix T66091: paint curve point slide conflicts with 2D cursor
  • Fix T67099: entering color picker hex value #FF results in 1.000001
  • Fix paint curve not drawing selection colors properly
  • Fix T66964: sculpting box hide tool can't select multiple areas
  • Fix T66862: crash with bevel modifier harden normals applied to curve object
  • Fix T66940, T67005, T60651: append workspace from old startup file fails
  • Fix T66862: crash with mirror modifier applied to curve object
  • Fix T67009, T67013: crash with Intel HD Graphics and some older drivers
  • Fix T66986: fix dylib plugins on macOS not working in code signed release
  • Fix T67016: crash drawing image editor without image
  • Fix T63349: image texture garbage collection causing freezes
  • Fix T66986: errors with add-ons using ctypes in macOS release

July 8 - 12

  • Splash: put version number in top right, refactor code for easier changes
  • Splash: use red heart icon for development fund
  • Fix T66706: crash in viewport shading popover for workbench engine
  • Fix T66672: auto and manual texture space affected by modifiers
  • Fix splash screen margins not being even and buttons not centered
  • Fix release notes not showing in splash without recent files
  • Fix T66565: crash linking unused light datablock during Cycles preview render
  • Fix T61474: laggy interaction on Windows/NVIDIA when gizmos are visible
  • Fix T62903: black line in UV editor on 32 bit

July 1 - 5

  • Fix wrong colors when creating a float normal map image in texture paint
  • Fix T66362, T66004: Cycles holdout should override indirect only
  • Fix T66412: crash with displacement and AO node in viewport renders
  • Fix T61808: remove confusing graying out of workspace that already exist
  • Fix T65899, T66314, T61808: various issues appending workspaces
  • Fix invalid state after calling append/link operator without any items
  • Fix missing update when setting rigid body world collection
  • Fix assert in Alembic tests with constraints
  • Fix workbench render crash in background mode

June 24 - 28

  • Cycles: add back control to render first N bounces with path termination
  • Previews: delay icon preview renders a bit for smoother interaction
  • Linux: add initial 2.80 release information in appdata
  • Docs: for release builds, link to specific manual version
  • Tests:
    • Add navigation links for HTML test reports, and other tweaks
    • Disable keymap hierarchy tests until they are fixed
    • Put output of IO tests in subdirectory
    • Speed up render tests by running multiple in the same process
  • Bugfixes:
    • Fix Cycles OSL assert when running tests
    • Fix issue in Blender 2.7x mask keymap after recent changes
    • Fix OpenMP library for tests on macOS
    • Fix T60289: changing gizmo properties causes excessive redraws
    • Fix T63828, T62005: copy/paste or append loses rigid body object
    • Fix T65956: node reroute no longer working in right click keymap
    • Fix T66053: hair shape panel shows for emitter particles
    • Fix T66075: memory leak in Cycles render tile updates
    • Fix T66076: crash deleting imported Alembic object
    • Fix T66111: animated lights not updating in Cycles
    • Fix T66137: added normal map for painting has wrong color space until refresh
    • Fix T66141: missing viewport texture update after find missing files
    • Fix T66171: Cycles OSL trace() crashing in displacement shaders
    • Fix T66240: clip editor shows Python error about tool header
    • Fix T66297: Blender on macOS does not open on case-sensitive file system
    • Fix wrong usage of U.ui_scale, drawing code must use U.dpi_fac

June 17 - 21

  • Nodes: show shader -> other socket type as invalid link
  • macOS bundle
    • macOS: install license files inside Blender.app bundle
    • macOS: rename blender.app to Blender.app
    • macOS: tweaks for macOS bundle script
  • Bugfixes
    • Fix Cycles CUDA suboptimal performance on Windows 10 with recent graphics cards
    • Fix sequencer sidebar not being wide enough by default to show timecodes
    • Fix small memory leak in Cycles principled BSDF
    • Fix T61912, T63297: error baking tangent space normal map with autosmooth
    • Fix T63145: nested instancers not respecting Display Instancer setting
    • Fix T63359: no render preview when save buffers is on
    • Fix T64153: RenderEngine.update_result does not show result immediately
    • Fix T64705: can't drive object visibility in collection instances
    • Fix T65780: unnecessary GPU image texture reloads after recent changes
    • Fix T65902: save all modified images should not try to save .psd files
    • Fix T65948: boolean modifier does not merge UV maps with the same name
    • Fix T65957: Cycles crash with OSL and UV maps
    • Fix T65976: switching to workbench engine in lookdev mode shows wrong state
    • Fix T66022: crash adding subdivision surface modifier to some meshes
    • Fix T66053: hair shape panel shows for emitter particles
    • Fix T66075: memory leak in Cycles render tile updates
    • Fix T66076: crash deleting imported Alembic object

June 10 - 14

  • Defaults: refactor startup.blend code, more consistely apply to templates
  • Mesh: don't compute CD_ORCO layer when there are no deforming modifiers
  • Fix T65737: context menu should not have Show Header for topbar
  • Fix T63706: crash in files with custom node trees that contain builtin nodes
  • Fix T63145: nested instancers not respecting Display Instancer setting
  • Fix T63867: image sequence not updating in Eevee animation render
  • Fix T59275: generated texture coordinates don't stick to mesh for shape keys
  • Fix part of T63595: generated texture coordinates don't stick to deforming mesh
  • Fix T65445: wrong defaults when appending workspaces from builtin templates

June 3 - 7

  • Python API: allow external render engines to use Eevee for LookDev shading
  • Fix T65657: crash in float texture painting, after recent changes
  • Fix T62121: Cycles crash with viewport render and smoke/pointclouds
  • Fix T64625: Eevee image textures with alpha have dark edges
  • Fix T65505: crash applying modifiers in paint and sculpt modes
  • Fix T65490: linked property in object duplicate should not persist
  • Fix T65437: sculpt dyntopo undo not showing correct mesh
  • Fix T65032: selection conflicts between motion tracks and masks in clip editor
  • Fix T65486: Cycles f-stop value from old files not preserved
  • Fix status bar and keymap editor showing Call Menu instead of menu name

May 27 - 31

  • Fix T65416: outdated location description for Cycles add-on
  • Fix T65082, T65084: duplicating workspace does not preserve mode and order
  • Fix T65185: Cycles viewport render no refreshing overlays properly
  • Fix T65265: File > Quit shortcut assign different depending if file is saved
  • Fix T65308: edit studio light state stays active after restarting Blender
  • Fix T65317: crash applying wave modifier with texture
  • Fix T65311: crash using 3D viewport panning outside viewport
  • Fix T62282: multires sculpting does not update smooth normals
  • Fix various missing updates in sculpt mode, when changing modifiers and dyntopo
  • Fix sculpt mode drawing with modifiers still being wrong in some cases
  • Fix missing file read/write of proxy/transform/crop settings when not used
  • Fix build error on FreeBSD
  • Fix T65334: use _Static_assert on clang as well, to avoid macOS build error
  • Fix T65244: emission node not available for world shader nodes
  • Fix T65212: Cycles SSS failing on 32 bit
  • Fix annotations not drawing correctly on Cycles rendered view

May 20 - 24

  • Camera: change default f-stop from 5.6 to 2.8
  • Clip editor: make tool/sidebar wider by default, right align movie clip info
  • Sequencer: ensure Strip is the default active panel
  • Templates: updated 2D animation template
  • UI: change order of Live Unwrap in menu U key still goes to Unwrap first
  • UI: right align info in image settings panel
  • Viewport: add more contrast to default studio light, make it default again
  • Viewport: don't show transparent checkboard in lookdev shading mode
  • Bugfixes
    • Fix outliner drawing unselected active objects as if they are selected
    • Fix Python error in sequencer scene strip UI
    • Fix T64414: crash deleting collection used for particle group and use count
    • Fix T64421: crash using redraw timer benchmark
    • Fix T64499: edit mode display glitch on Intel HD 4x00 and Windows 7/8
    • Fix T64528: error in RenderEngine API docs example
    • Fix T64738: pick short path seam not doing live unwrap
    • Fix T64758: crash loading certain DDS textures
    • Fix T64804 crash editing image paint fallof in edit mode
    • Fix T64842: crash rendering files with bevel curves
    • Fix T64903: Freestyle line alpha not working for Eevee
    • Fix T64965: crash using masks in texture paint mode
    • Fix T64969: changing color space in image texture node loses changes
    • Fix T64972: object convert to mesh not working after recent changes
    • Fix T64974: misisng multi-object edit for some curve operators, like smooth
    • Fix T64981: background images do not come along with linked cameras
    • Fix too dense timeline grid spacing
    • Fix unnecessary decorators showing in compositor sidebar
    • Fix UV editor selection colors not matching 3D viewport

May 13 - 17

  • UI: add entry to show/hide tool settings bar to the View menu
  • UI: keep grease pencil stroke placement / guides button always in main header
  • UI: integrate Cycles ray visibility and culling in new Visibility panel
  • UI: don't ask for confirmation to save or revert to saved preferences
  • UI: use single column layout for image settings panels
  • UI: add Panel.bl_order property to control order of panels for add-ons
  • UI: make sidebars in 3D view and other editors a little wider and consistent
  • macOS/Linux: use more standard button layout in quit dialog
  • macOS: always use the Blender quit dialog, like other platforms
  • Windows: use more standard button layout in quit dialog
  • Images: change alpha settings to support channel packing
  • Images: don't (un)premultipy non-color data
  • Images: changes to avoid losing new images that have not been saved
  • Images: make it harder to accidentally undo image texture painting changes
  • Images: make image save operator available outside image editor
  • Images: move save modified images operator from Python to C
  • Images: more tweaks to save all modified images
  • Color Management: update configuration, remove legacy transforms
  • Mesh: remove Double Sided lighting option, it does nothing in the new viewport
  • Bugfixes:
    • Fix image not being marked as modified on texture paint undo/redo
    • Fix T64725: light power property dragging uses too small increments
    • Fix T64678: wrong DDS normal map rendering after recent changes
    • Fix T64651, T64658: image texture not set to non-color properly
    • Fix T64650: missing topbar update when changing brush in sculpt mode
    • Fix T64618: Cycles crash with point density texture on Windows
    • Fix T64623: Freestyle procedural noise not consistent across platforms
    • Fix T64514: wrong grease pencil icon preview renders
    • Fix T64592: Assign Shortcut does not autosave preferences
    • Fix T64515, T60434: crash in OSL and preview render after recent changes
    • Fix T64578: Cycles clamps HDR colors for 16bit integer image with colorspace
    • Fix T64588: some new theme preferences not saving
    • Fix T63802: textured lights not working with OSL
    • Fix T64561: wrong colorspace for Cycles displacement nodes
    • Fix T64292: world missing from outliner Scenes view
    • Fix T64297: edit light energy not working for Eevee, when nodes exist
    • Fix T64407: crash adding workspace after appending datablock
    • Fix T64775: crash loading Eevee files with DoF, after recent changes
    • Fix T64762: incorrect textures for non-color images with an alpha channel
    • Fix T64791: light sun angle not saved
    • Fix T64822: curve widget point selection does not take into account DPI
    • Fix Cycles material settings appearing in the wrong tab in node editor
    • Fix inconsistent toolbar and sidebar sizes in default workspaces

May 6 - 10

  • Cycles/Eevee: add Emission and Alpha inputs to Principled BSDF
  • Cycles/Eevee: unify light strength and color
  • Cycles/Eevee: unified and improved texture image color space handling
  • Python API: expose preferences.is_dirty
  • UI: dim icons in inactive tabs, similar to text
  • Themes: add scene icon color category, for consistency in properties tab bar
  • Defaults: change default settings in a few editors
  • Automated testing
    • Tests: add tests/report.html that links to all HTML test reports
    • Tests: speed up render tests by running multiple in the same process
    • Tests: fix eevee and workbench using Cycles in a few tests
    • Tests: add Cycles image texture colorspace tests
    • Tests: add Eevee reference images, and add workbench tests
    • Fix failing tests when Cycles is enabled
  • Bugfixes:
    • Fix T64403: crash sampling coloring in texture paint mode
    • Fix unintended autosaving of preferences in a few cases
    • Fix T64223: missing volume panel for Eevee world

April 29 - May 3

  • Work towards unified and improves Cycles/Eevee color management
    • Color management: add functions to detect scene linear and sRGB color spaces
    • Cycles: support loading images from arbitrary OpenColorIO color space
    • Cycles: add colorspace manager class and utilities based on OpenColorIO
    • Refactor Cycles OSL texture handling
    • Refactor passing of OSL kernel globals for upcoming changes
  • Alembic: integrate cache file into the dependency graph
  • UI: disable colored icons in menus for now
  • UI: color icons in the properties editor tabs
  • UI: add pixel units for some theme settings
  • Bugfixes
    • Fix error running Eevee render tests
    • Fix crash in background rendering after recent sound changes
    • Pose slide / relax: fix various issues

April 15 - 26

  • Cycles: remove hair minimum width support
  • Cycles: move shader node versioning code to C
  • Nodes: avoid slow and unecessary node group updates on file read
  • Nodes: remove group node forward compatibility with version 2.66
  • Nodes: better integrate node init and versioning in file reading
  • GPU: automatically draw images with GLSL shader depending on resolution
  • UI: tweak header context menu, gray out items when they have no effect
  • Images: support packing edited images as OpenEXR or PNG
  • Python API: allow passing integer to some BGL functions instead of bgl.Buffer
  • Bugfixes:
    • Fix T63524: crash selecting an object in texture coordinate node
    • Fix T63528: Alembic export always showing error on macOS, even on success
    • Fix T63698: Eevee crash after recent clang-format changes
    • Fix T63431: crash adding driver to a keyframed property with Ctrl+D
    • Fix T63415: no Cycles displacement update when updating OSL code
    • Fix T63681: bad clipping of very long tooltips
    • Fix T63686: missing data path for 3D cursor location and rotation
    • Fix T63764: error when using library.users_id() function
    • Fix tool system Python errors if there is no active object
    • Fix T63641: transform snap invert keymap item has an effect when disabled
    • Fix T63439: too many 3D viewport redraws due to fading scrollbars
    • Fix T62852: crash reading corrupt DDS file
    • Fix T63346: Cycles OSL shader with closure not working in final render
    • Fix T63562: wrong viewport updates after editing group node sockets
    • Fix T62913: datablock append removing unrelated rigid body objects
    • Fix proxy remapping on make local failing for more than one object
    • Fix T62849: crash entering particle edit mode with hair dynamics
    • Fix T63189: missing double click for UV loop select and emulate MMB

April 1 - 12

  • Homestretch workshop coordination
  • Add Cycles texture node mapping settings to node editor sidebar
  • Windows: use Wintab by default if it's available and a device is detected
  • DNA: add error for DNA computed struct sizes and member offsets mismatch
  • Bugfixes:
    • Fix Alembic using wrong visible/selected flags, fix warnings.
    • Fix T59014: black/corrupted viewport with Intel HD on Windows 7/8.
    • Fix T63276: crash deleting object with alembic constraint.
    • Fix part of T62720: crash loading alembic mesh that has no vertices.
    • Fix T62870: progress in taskbar not updated when cancelling render
    • Fix T62780 , T59802, T57648: fullscreen window issues on Windows.
    • Fix T63164: DNA size mismatches on 32bit, causing memory corruption and crashes.
    • Fix broken BLI_STATIC_ASSERT on Visual Studio.

March 25 - 29

  • Python API: add more detailed example for RenderEngine.
  • Python API: allow passing None to some BGL functions instead of bgl.Buffer
  • Cycles: reduce number of synchronizing object prints.
  • Bugfixes
    • Fix T63137: crash pressing enter to confirm menu, after recent changes.
    • Fix cramped display of tool setting enums in workspace tab.
    • Fix part of T63102: wrong Python API Reference link in Help menu.
    • Fix header text for muted collapsed nodes not being greyed out.
    • Fix part of T60735: invalid CD_ORIGINDEX data in some modifier stack evaluations.
    • Fix T60735: Cycles render hangs with vertex instancing.
    • Fix T63023: wrong Eevee window coordinates for background.
    • Fix part of T63023: wrong Cycles window coordinates for background.
    • Fix T61559: show object constraints also when in pose mode, remove warning.
    • Fix T62978: grease pencil 3D view header layout broken after recent changes.
    • Fix T62926: allow using shift click drag to extend selection in file browser.
    • Fix vertex array leak in Cycles viewport drawing.
    • Fix T62952: remove lamp as camera using the lamp clip start/end.
    • Fix T62626: Python errors when pinning particle settings.
    • Fix T62756, T62131: moving stencil texture fails after moving stencil mask
    • Fix T62925: shift+F1 append shortcut not working in Blender 2.7 keymap.
    • Fix T62515: crash when rendering finishes with mouse over progress bar.
    • Fix use of uninitialized variable in grease pencil materials.
    • Fix T62946: function abs() not working in driver expressions.
    • Fix T62946: missing warning when Python driver expression execution is disabled.
    • Fix T61577: collapse nodes hide arrow hit zone overlaps with node sockets.

March 18 - 22

  • Cycles: add cycles.merge_images operator for combining EXR renders.
  • Cycles: make cycles.merge_images work with incomplete layers and passes.
  • Bugfixes:
    • Fix T62891: particle even distribution is not even.
    • Fix T62912: Blender 2.7 keymap missing ctrl+tab select mode switching.
    • Fix missing version patching from lamp/light and subsurface changes.
    • Fix T59962, T60130: error adding image sequence with node wrangler.
    • Fix T62844: Cycles crash with bevel and degenerate geometry.
    • Fix/workaround some types of black dots in denoising with bright speculars.
    • Fix T60815: drag & drop crash when search menu is opened immediately after.
    • Fix T62788: drop image into node editor puts node at wrong location.
    • Fix cycles.merge_images not merging correctly for some channel layouts.
    • Fix T62749: random mesh selection crashes.
    • Fix T57590: assert with zero length array buttons.
    • Fix T56183: flip matcap not working for workbench as render engine.
    • Fix Cycles curve UVs wrong after recent changes.
    • Fix T62712: Cycles world light path node not working.

March 11 - 15

  • UI: add light/world settings in shader node editor.
  • Cycles: optimization for constant background colors.
  • Cycles: upgrade to CUDA 10.1 as the one officially supported version.
  • Python/ViewLayers: add object.hide_get/set(), and optional view layer parameters.
  • UV editor: automatically show image assigned to active face.
  • Bugfixes:
    • Fix Cycles OpenCL compile waiting unnecessarily for background shader.
    • Fix Cycles not doing versioning for some files saved in 2.80.
    • Fix T62608: many tools in the toolbar not working.
    • Fix cycles preferences.get_devices() not returning all devices as before.
    • Fix T62460: undo doesn't work in files that have a paint curve.
    • Fix T62425: topbar showing wrong buttons at some UI scales.
    • Fix T62120: number button editing outside of soft max range jumps.
    • Fix T57138: Cycles CMJ failing with viewport samples set to 0.
    • Fix some unreported issues with image sequence updates, clean code.
    • Fix T61937: image sequences not updating in workbench display mode.
    • Fix T59445: top bar hides everything when there isn't enough space.
    • Fix T60434: crash with OSL and viewport + preview render at the same time.
    • Fix T62388: object.visible_get() not affected by object.hide_viewport.
    • Fix T62481: Cycles crash rendering with UV pass after recent changes.
    • Fix T62470: instanced object does not preserve bounds display type.
    • Fix T60855: workspace duplicate does not preserve addons filters.
    • Fix T61906: crash rendering softbody with Cycles and timeline visible.
    • Fix T61053: crash baking to float image after file save.
    • Fix T61103: Cycles bevel wrong on objects with negative scale.
    • Fix T61831: Denoising Clean pass not scaled correctly with samples.
    • Fix T59286: CUDA bake failing on some cards.
    • Fix T56858: CUDA 9.2 and 10 issues.

March 4 - 8

  • Wrote about new object types and caching, for everything nodes design discussion.
  • Bugfixes:
    • Fix T59407: remove outdated right click select info in readme, other updates.
    • Fix T60086: missing update when removing fcurves from Python API.
    • Fix T60900, T61111, T61963: node values stuck after clearing keyframes.
    • Fix T59304: boolean modifier does not preserve UV textures.
    • Fix T62317: missing Cycles viewport update when changing active camera.
    • Fix T60978: crash toggling window fullscreen on macOS.
    • Fix T62289: crash with texture paint slots and missing node group datablock.
    • Fix T62280: driver functions added in load_post broken after recent changes.
    • Linux/X11: update icon in taskbar to match new icons.
    • Fix Cycles build error on non-x86 processors.
    • Fix T61063, T62195: Python scripts should run before depsgraph evaluation.
    • Fix Cycles bug rendering with multiple UV maps after recent changes.
    • Fix T62216: order of items flipped in some menus like object mode.
    • Fix T60585: threadripper CPU only using 16 threads for e.g. sculpting.

February 25 - March 1

  • Weak ID linking to fix bugs with linked collection visibility. (D4416)
  • UI: make text editor Text menu consistent with menus for .blend and images.
  • Collections: mark visibility properties as not animatable.
  • Bugfixes:
    • Fix Cycles animation denoising giving black pixels for some outliers.
    • Fix missing image editor redraw when reloading image through API.
    • Fix T62073: Cycles random hangs rendering with Save Buffers on.
    • Fix T61825: animated images not working immediately when enabling auto refresh.
    • Fix T61929: crash on undo in some files with local view.
    • Fix macOS OpenMP build error when using a build folder name with spaces.
    • Fix T60366: texture paint slots not updating when editing material.
    • Fix Cycles animation denoising not working for files on a network drive.
    • Fix T58405: viewport drawing issues with display device set to None.
    • Fix T58875: object paste and append Active Collection property not working.
    • Cleanup: prevent future issues with ID.tag overflow, clarify somes names.
    • Fix T61946: Cycles border render missing samples and crypto metadata.
    • Fix T61891: Cycles light use nodes button greyed out.

February 18 - 22

  • Local view: add operator property to disable framing selected objects.
  • Local view: don't restore selection when exiting local view.
  • Tests: only run OpenGL draw tests on lib/tests/opengl, support symlinks.
  • Bugfixes:
    • Fix T61891: Cycles light use nodes button greyed out.
    • Fix T61810: Cycles OpenCL denoising broken after recent changes.
    • Fix File > Save not showing red highlight when saving over existing files.
    • Fix missing dependency upgrade when changing image to/from sequence.
    • Fix T61714, T61712: crash reloading images after recent changes.
    • Fix Cycles OpenCL multithreaded compilation not working on Windows.

February 11 - 15

  • Units: add support for light power units in Watt. Use for Eevee lights.
  • Units: allow short unit names be case sensitive when needed.
  • Cycles: add animation denoising test, fix operator to work with single frames.
  • Cycles code tweaks for multithreaded compilation of kernels.
  • Bugfixes:
    • Fix T57457: animated image sequences not working in Eevee.
    • Fix image filepath changes not refreshing all image users.
    • Fix BKE_image_walk_all_users not including all image users.
    • Fix T54504: Cycles wrong backwards compatibility with linked libraries.
    • Fix T61575: missing Cycles viewport updates when changing settings.
    • Fix outliner box select not working when using search filter.
    • Fix Cycles Embree crash on macOS, due to too small thread stack size.
    • Fix T61477: freestyle not updating in animation render (again).
    • Fix T61505, T61280, bugs in button drag toggle after recent changes.
    • Fix T61470: inconsistent HSV node results with saturation > 1.0.
    • Fix T61502: Cycles wrong other object texture coordinates in OSL.
    • Fix missing Cycles cryptomatte metadata in renders.
    • Fix T61457, T61489, T61482: build errors and memory warning in Cycles.
    • Fix T61469: wrong object statistics when using instances.
    • Fix T61453: crash rendering after selecting particle settings datablock.

February 5 - 8

  • Cycles animation denoising review and changes:
    • Prefilter feature passes separate from denoising.
    • Tweak outlier detection, preparing for animation denoising.
    • Refactor Blender device settings handling into own file.
    • Add animation denoising Python operator.
  • UI: make drag lock work also when buttons have > 2 states or use callbacks.
  • Bugfixes:
    • Fix new EEVEE bloom / motion blur defaults not being applied to startup.blend.
    • Fix object.users_collection not including scene collections.
    • Fix wrong Cycles render status text when only writing denoising passes.

January 28 - February 1

  • Color management: change view transform for color pickers and display modes.
  • Depsgraph: remove features incompatible with new system.
  • Cycles: delay CUDA and OpenCL initialization to avoid driver crashes.
  • UI: rename Free Bake to Delete Bake.
  • Bugfixes:
    • Fix T61088: Cycles particle viewport render stuck in loop.
    • Fix T61078: Cycles crash with adaptive smoke sim playback.
    • Fix T58206: Eevee light energy soft maximum is too low.
    • Fix T61088: Cycles particle viewport render stuck in loop.
    • Fix T61065: missing shader update when adding texture slot.
    • Fix T60973: crash baking objects disabled for rendering.
    • Fix T61072: missing viewport update when setting render border in image editor.
    • Fix T61013: changing top/status bar editor type can be changed with shortcut.
    • Fix T59495, T59992, T59904, T59178, T60598: broken keyframed value editing.
    • Fix T57069: macOS window contents scaling bug.

January 21 - 25

  • Cycles: change default displacement method to bump mapping again.
  • Bugfixes:
    • Fix T60908: crash in workbench render after DoF changes.
    • Fix smoke clipping being ignored by Cycles and not being editable after baking.
    • Fix T59650: adding texture paint slot image shows wrong color.
    • Fix T60597, T60806: Cycles crash rendering principled BSDF + volume interior.
    • Fix T60095: freestyle not rendering animated camera correctly.
    • Fix freestyle renders not including some types of animation.
    • Fix T60625: freestyle colletion include / exclude not working.
    • Fix T60669: freestyle rendering holdout / indirect only collections.
    • Fix T59972: UV live unwrap does not pack islands.
    • Fix T59933: timeline keyframe display not updating when selecting objects.
    • Fix T58216: backdrop drawing in sequencer broken.
    • Fix T60790, T60636, T60631: MMB emulation issues after recent changes.
    • Fix T59152: dynamic topology constant detail should be in world space.
    • Fix light probe panels not being visible for Cycles.
    • Fix T60742, T55974: crash using mesh/curve surface force fields.

January 14 - 18

  • Preferences:
    • Add new Viewport, Animation, Navigation, Save & Load sections.
    • Assortment of minor layout tweaks.
    • Fit a little better when opened in place of properties editor.
    • Tweaks to lights section layout.
    • Tweak themes/addons/keyamps buttons at the top.
    • Remove OpenGL select method preference.
    • Remove unnecessary 16 bit textures preference.
    • Always do GPU accelerated mipmapping, remove preference.
  • Refactor GHOST wintab handling.
  • Bugfixes:
    • Fix T60585: Cycles not using all cores on threadripper, after recent changes.
    • Fix T60627: Cycles render hanging on Windows with threadripper CPU.
    • Fix T60615: Cycles baking not working with some modifiers.
    • Fix preferences layout not shrinking properly on high DPI display.
    • Fix UI not fully updating while resizing window on Windows and macOS.
    • Fix too narrow buttons in addon preferences.
    • Fix broken weight painting colorband in default preferences.
    • Fix T59826: grease pencil crash with empty material slot.
    • Fix T60246: crash with Cycles baking while in edit mode.
    • Fix T60498: Auto IK doesn't work immediately.
    • Fix T60497: wrong statusbar keymap display with MMB emulation.
    • Fix T60497: edgering select not available with LMB select and MMB emulation.
    • Fix the active sequencer strip not standing out from selected ones.
    • Fix T60441: entering hex color in picker gives wrong result.


January 7 - 11

  • UI: tweaks to user preferences layout.
  • Build Environment: install clang-format for macOS / Linux.
  • Bugfixes
    • Fix T60415: wrong font preview image alpha blending.
    • Fix Python errors batch generating preview images.
    • Fix T60411: crash in multi-object pose mode, with some armatures in rest pose.
    • Fix T60320: Cycles OpenCL denoising filter errors on some drivers.
    • Fix T60266: missing viewport updates after changing scene world datablock.
    • Fix Cycles viewport render doing some unnecessary work at the start.
    • Fix T60300, T57774: Cycles OpenCL viewport crash with subsurface scattering.
    • Fix T60324: node linking UI bugs with some shader nodes.
    • Fix inconsistent naming and behavior for base visible/selected/editable.
    • Fix T60320: Cycles OpenCL volume rendering error on some drivers.
    • Fix T60300: Cycles SSS render hanging with AMD OpenCL.
    • Fix T60263: render layer node sockets not showing on file load, for some files.
    • Fix T60167: wrong shader nodes in Eevee add menu.
    • Fix T60213: crash loading .blend file with material override.

December 31 - January 4

  • Templates: tweaks to startup templates.
  • Viewport: update default set of HDR images.
  • Outliner: expand view layer collections by default, revealing objects.
  • Bugfixes:
    • Fix T59991: duplicate entries for node select operators in keymap.
    • Fix T60046: crash with Cycles viewport render and particle info node.
    • Fix T59792: Cycles crash rendering motion pass with motion blur enabled.
    • Fix wrong grease pencil shader FX usage of object location.
    • Fix T59063: operator search menu loses background in some cases.
    • Fix T60037: single column layout breaks file browse button.
    • Fix T60061: Cycles OSL point density not working.
    • Fix wrong alpha blending for datablock preview icons.
    • Fix T58859: render with compositor does not render other scenes.
    • Fix T58870: submenus don't open for some specific mouse positions.
    • Fix T60107: gizmos should not show for unselectable objects.
    • Fix some inconsistencies in object visibility/selectability tests.
    • Fix T57177: redo select random operator selects hidden objects.
    • Fix T60119: incorrect filter size in new scenes.
    • Fix T58250: crash starting Blender on X11 without OpenGL 3.3.
    • Fix T54962: Cycles crash using subsurface scattering texture blur.
    • Fix T60073: can't unlink by dragging from some node input sockets.
    • Fix T59349: Cycles viewport render flickering when changing some settings.
    • Fix T59049: some modal transform keys no working in custom keymaps.
    • Fix T59768: UV context menu showing in image editor.
    • Fix T58657: blender 2.7 keymap Alt+A does not work for animation playback.
    • Fix T58692: splash screen next not working when using BLENDER_USER_CONFIG.
    • Fix T58669, T59772: freestyle + EEVEE render not working.
    • Fix T57890: freestyle rendering crash.