Nbdev Versions Save

Create delightful software with Jupyter Notebooks

2.3.13

6 months ago

New Features

  • add support for 3.11 (#1373), thanks to @deven367
  • update install_quarto to distinguish arm64 and amd64 (#1356), thanks to @JonasHarnau
  • allow trailing : in directives for YAML compliance (#1312), thanks to @hamelsmu
  • CI error on uncleaned notebooks suggests upgrading nbdev (#1308)
  • Auto-add index file onto section (#1307), thanks to @p4perf4ce
  • nbdev_clean: Add trailing newlines to mask diff between Jupyter and VSCode (#1292), thanks to @xl0
  • exported modules can scrub_magics (#1250), thanks to @yegeniy
  • Add extensions tutorial (#1228), thanks to @muellerzr

Bugs Squashed

  • pin ipywidgets version (#1318), thanks to @hamelsmu
  • Fix encoding issue for Windows OS User especially for non-English user (#1314), thanks to @JunDamin

2.3.11

1 year ago

New Features

Bugs Squashed

2.3.9

1 year ago

New Features

  • utility that creates a requirements.txt file from settings.ini (#1202), thanks to @hamelsmu
  • user-friendly error if py file has # %% comments with unexpected format (#1211), thanks to @seeM
  • add parameter for name to nb_export (#1204), thanks to @hamelsmu
  • ensure newline at end of _modidx.py (#1186)

Bugs Squashed

  • end sidebar.yml with newline (#1212), thanks to @seeM
  • fix: incorrect regex pattern for setting output-file (#1210), thanks to @seeM
  • ensure newline at end of _modidx.py (#1209), thanks to @seeM
  • fix: nbdev_install_quarto may install and remove unrelated packages (#1208), thanks to @seeM
  • fix: key error if widgets is missing state (#1207), thanks to @seeM
  • nbdev_install_quarto may install and remove unrelated packages (#1182)
  • Key error if widgets is missing state (#1167)

2.3.8

1 year ago

New Features

  • better error messages for nbdev_migrate (#1177)
  • experimental: Users can provide extra processors via the procs key in settings.ini (#1157), thanks to @seeM
  • enable Documentation Only Sites With nbdev ( + tutorial ) (#1121), thanks to @hamelsmu
  • support non-library projects (#1119)
  • throw a warning when imports and code are mixed in a cell (#714)

Bugs Squashed

  • fix duplicated sections in the sidebar (#1165), thanks to @seeM
  • setting #| echo in a cell with show_doc causes a Quarto error (#1163)
  • fix copying of index assets (#1143), thanks to @hamelsmu
  • images in index.ipynb causing deployments issues (#1140)
  • clean takes forever on notebooks with large output (#1132)
  • nbdev_update includes folders starting with _ or . (e.g. .ipynb_checkpoints) (#1130), thanks to @seeM
  • nbdev_new defaults bool parameters to False (e.g. put_version_in_init) (#1129), thanks to @seeM
  • black_formatting setting is ignored (#1122), thanks to @jmoralez
  • nbdev_readme() fails on the second run for the notebook with support files (e.g. Fig image). (#1106)
  • nbdev_new fails with AttributeError: path_ (#1063)
  • fix #1041 (#1049), thanks to @seeM

2.3.7

1 year ago

New Features

  • Set recursive True by default (#1117), thanks to @seeM
  • exec_doc supports re-rendering widgets (#1113), thanks to @seeM
    • If users update widgets with the exec_doc directive, the widget "view" is updated (in the cell output), but the old widget "state" is used (in notebook metadata). This refreshes widget state using ipywidgets.Widget.get_manager_state.
  • nbdev_new pins on major+minor version of nbdev-template (#1091)
  • nbdev_proc_nbs completes all steps to build _proc for publishing (#1086)
  • nbdev_new defaults nbs_path setting to 'nbs' (#1083)
    • Since all website files (quarto config, css, images, etc) are in nbs_path, the current default nbs_path='.' can clutter the root folder.
  • nbdev_new queries branch from GitHub (#1080)

Bugs Squashed

  • fix exporting patch_to which is decorated with staticmethod (#1100), thanks to @seeM
  • show_doc errors if a dependency in the nbdev group has a sub-dependency that isn't installed (#1097)
  • Running nbdev_migrate while upgrading removes nbdev2 compatible directives (#1089)
  • respect #|hide and #|include: false for showdoc (#1079), thanks to @hamelsmu
  • Export class to library but hide from documentation (#1076)
  • nbdev_clean removes widget state (#1069)
    • If widget state is present, it means the user had intentionally changed settings in their notebook editor.

2.3.4

1 year ago

New Features

Bugs Squashed

2.3.3

1 year ago

New Features

2.3.2

1 year ago

New Features

  • Support GitHub Enterprise (#944)

Bugs Squashed

  • nbdev_new fails with AttributeError: path_ (#1063)

2.3.1

1 year ago

Breaking Changes

  • _quarto.yml no longer replaced with automatically generated version (#1059)
    • This was listed in 2.3.0 but wasn't actually included in the release

Bugs Squashed

  • fix nbdev_update (#1058), thanks to @seeM
    • fix bug in nbdev.maker.update_import which meant that nbdev_update didn't convert relative imports without None module (e.g from . import foo -> from pkg import foo)
    • fix FileNotFoundError in nbdev_update by passing the correct py module and corresponding notebook paths
    • fix nbdev_update introducing whitespace changes to notebooks

2.3.0

1 year ago

Breaking Changes

  • _quarto.yml no longer replaced with automatically generated version
    • You can now customise your _quarto.yml file and it will not be overridden by nbdev
    • This means that custom_host and custom_port in settings.ini are no longer supported -- use the standard quarto configuration instead
  • Parallel ipynb filter (#961)
    • ipynb-filters in _quarto.yml is no longer needed or recommended. Instead, nbdev preprocesses your notebooks in parallel into a folder called _proc before calling quarto
    • The new processing system generally results in speedups of around 10x compared to the previous approach
  • Deprecate config_key in favor of get_config (#856), thanks to @seeM

New Features

  • Setting put_version_in_init to make adding __version__ to __init__.py optional (#1051), thanks to @MichaelJFishmanBA
  • nbdev_new support for GitHub Enterprise (#1043), thanks to @seeM
  • Use GITHUB_TOKEN if present for nbdev.release (#1025)
  • Support non qmd py rendering scripts (#1014)
  • Use penultimate suffix for extension of rendered .py scripts (#1010)
  • Print nbdev_test cell errors to stderr instead of using logging.warning (#1003)
  • Make nb meta display_name consistent with name to simplify diffs (#995)
  • Windows support for clean nb (#989), thanks to @jvanelteren
  • Preview support for parallel filter (#976)
  • Settings.ini option for choosing preview listen port (#967)
  • Authenticate nbdev-template github API call (#940)
  • Add printit arg to nbdev_filter so it can be called with fname and still print to stdout (#931), thanks to @seeM
  • Run nbdev_readme in nbdev_new (#919), thanks to @seeM
  • Improve config documentation in read module (#864), thanks to @seeM
  • Simplify jupyter_hooks configuration (#780), thanks to @seeM

Bugs Squashed

  • Class method doclinks target mod.html#method instead of mod.html#class.method (#1046), thanks to @seeM
  • "Bad credentials" error in nbdev_new if GitHub Enterprise GH_HOST and GITHUB_TOKEN are used (#1038)
  • Suppress UserWarning for unset GITHUB_TOKEN in nbdev_new (#1028), thanks to @seeM
  • nbdev.release uses cfg.lib_name instead of cfg.repo (#1024), thanks to @seeM
  • nbdev_test does not restore the original working directory (#1004)
  • clean_ids corrupts string outputs (#794), thanks to @seeM