🕶️ Release v1.0.4
- Sheets: Add image transparency controls.
- Sheets: Move tables together with their cell ranges.
- Sheets: Add smooth cell selection transitions.
- Docs: Support page numbers, page counts, and date/time fields in headers and footers.
- Slides & shapes (Pro): Add Paste Special and post-paste formatting options.
- Pivot charts (Pro): Support worksheet copying and deletion.
- Customization: Expose conditional formatting rule previews and an editor-exit callback.
- Fix cell-editing shortcuts, keyboard navigation, and merged-cell editor alignment.
- Fix editor focus when multiple Univer instances share a page.
- Localize date format presets and fix conflicts between text wrapping and shrink-to-fit.
- Fix border style selection and merged-cell border rendering.
- Preserve whitespace in find-and-replace queries.
- Restore spill formula display and prevent delayed calculation results from overwriting newer edits.
- Preserve drawing positions and sizes after row or column changes, and restore properties for imported images.
- Pro: Fix chart legend pagination, resizing, and event handling after switching worksheets.
- Pro: Keep pivot-chart filter popups open during updates.
- Pro: Fix header/footer layout and embedded-editor interactions.
univerAPI.registerComponent() now registers an override by default, regardless of registration order. Pass { override: false } to register a default component. Dispose an existing override before registering another for the same name.
Full changelog: v1.0.3…v1.0.4
🕶️ Release v1.0.3
- Pivot tables (Pro): Copy pivot tables together with worksheets.
- Shape hyperlinks (Pro): Show hyperlink popups when hovering over shape text in Sheets, Docs, Slides, and Boards.
- Notifications: Support custom CSS classes per notification.
- Extensions: Expose the destination worksheet name to copy-sheet interceptors.
- Formulas: Improve conditional aggregate performance with array criteria.
- Cell editing: Double-click a cell to select its editable content.
- Sheets: Fix automatic row heights after paste, filter range updates, and formula editor focus and help positioning.
- Docs: Preserve selections in long documents and improve paste controls.
- Emoji picker: Support searching by localized names and keywords.
- Networking: Fix interceptor disposal and completion handling for merged requests.
- Cross-document formulas (Pro): Fix stale results after referenced sheets become available.
- Embedded editors (Pro): Fix missing tools, scrolling behavior, and shape tool activation.
- Boards (Pro): Avoid redundant undo entries for unchanged text styles.
- Docs (Pro): Fix mobile editor dependencies and hide empty table menus.
- Charts (Pro): Fix referenced data-source selection and activation.
- Collaboration (Pro): Respect the offline-caching setting from startup.
Custom Pro chart integrations require updates:
- Chart reference APIs moved from
@univerjs-pro/engine-chartto@univerjs-pro/chart-embed. RegisterUniverChartEmbedPluginwhen using referenced charts. ChartReferencedDataSourceEditorwas removed. Custom editors should useReferencedDataSelectorfrom@univerjs-pro/embed-unit-uiwith host-specific controls.ChartResourceRepositoryis now abstract and requires host-specific data-source decoding.- Saved chart resources no longer include a
versionfield. Existing supported resources remain readable, but older SDK versions may reject newly saved resources.
Keep interdependent Univer and Univer Pro packages aligned at 1.0.3, including applications that read and write shared chart resources.
Full changelog: v1.0.2…v1.0.3
🕶️ Release v1.0.2
This patch release improves PDF import fidelity, restores missing PivotChart data after reopening workbooks, and fixes color rendering in charts and document callouts.
Univer Pro
- PDF import: Fixed whitespace handling for fonts with custom character mappings, preserving correctly decoded text around spacing adjustments.
- PDF rendering: Added monospace font fallbacks for Courier and its bold and italic variants.
- PDF persistence: Preserved import reports when restoring documents and appending pages, including updated page references.
- PivotCharts: Fixed an issue where standalone, range-based PivotCharts could reopen without calculated data when their saved source fields loaded before the chart definition.
- Pie and doughnut charts: Fixed explicitly configured slice colors and gradients becoming invisible when the series used a transparent fill. Explicit slice opacity remains respected.
- Docs callouts: Fixed color presets displaying incorrect text, border, and background colors in dark mode. Improved keyboard focus indicators and accessible selection states.
- Updated
@univerjs/iconsand@univerjs/icons-svgto1.43.1. - Enabled dependency subpath resolution in module builds.
No public API changes are introduced in this release.
Full changelog: v1.0.1…v1.0.2
🕶️ Release v1.0.1
This patch release fixes React DOM dependency declarations in Univer Pro and updates SDK demos and sample documents.
No public API changes are introduced in this release.
Full changelog: v1.0.0…v1.0.1
Univer 1.0.0
Univer 1.0 is here. This release brings six editors—Sheets, Docs, Slides, Boards, Bases, and PDFs—into one programmable Office SDK, with shared plugin and command systems and Facade APIs for each editor.
Alongside the new editors, 1.0 improves large spreadsheet calculation, long document layout, Office file compatibility, and mobile editing. The new Server SDK and AI SDK extend integration to backend services and agents.
Read the announcement · Try Univer Office · Browse the documentation
Upgrading from 0.25? This is a major release with API removals and package changes. Read Breaking changes and migration before updating.
Choose the editors your application needs and connect them to your own navigation, accounts, and business data.
| Editor | What's new in 1.0 |
|---|---|
| Sheets | A reorganized formula engine, 3D and cross-workbook references, formula-linked shapes, expanded pivot table analysis, and PivotCharts. |
| Docs | Modern and traditional editing modes, improved sections and pagination, tables of contents, footnotes, content controls, LaTeX, and calculated inline formulas. |
| Slides | A rebuilt editing workflow with masters, layouts, tables, charts, editable SmartArt, and presentation mode. |
| Boards | A new canvas for diagrams and mind maps, with shapes, connectors, containers, and Mermaid import. |
| Bases | A new structured data workspace with grid, kanban, calendar, and Gantt views, linked records, hierarchies, pivot views, and dashboards. |
| PDFs | A new PDF viewer and editor with page management, text, images, tables, annotations, export, and printing. |
Sheets also improves Excel compatibility for structured references, array formulas, implicit intersection, and date systems. Charts gain histograms, treemaps, sunburst and gauge charts, multilevel category axes, and SVG export. See the formula and chart guides.
Embed a spreadsheet in a document and continue editing its cells and formulas, or embed a board in a slide and keep its diagram tools available. Documents can also appear as workbook tabs, entries in slide page lists, or entries in Bases table lists.
Embedded documents retain their own data models and are linked by reference. Applications save each document separately. See the embedding guide for supported combinations and integration details.
Sheets, Docs, Slides, Boards, and Bases gain touch-oriented editing interfaces, with adapted toolbars, property panels, navigation, and on-screen keyboard behavior. Integrate each editor's mobile UI plugins; desktop and mobile use the same document models.
- Web SDK: Embed editors and extend them through plugins, themes, and Facade APIs.
- Server SDK: Integrate collaboration and file conversion with your backend, identity, permissions, and storage.
- AI SDK: Build Office CLI and agent workflows in TypeScript to read and modify documents, update formulas, generate charts, and visually inspect results.
- Sheets: Incremental scrolling redraws newly visible areas. Bulk paste, incremental calculation, and shared formula lookup reduce repeated work.
- Docs: Progressive layout prioritizes content near the editing position and reuses existing layout after local edits. An optional layout Worker moves processing off the main thread.
- Boards and Slides: Improved rendering during dragging, shape cache reuse, and visibility-based presentation thumbnail updates reduce unnecessary canvas work.
- Across editors: Refined Ribbon layout, dark themes, RTL support, and broader coverage for comments, permissions, version history, and snapshot comparison APIs.
Exchange in the Server SDK imports XLS/XLSX, DOC/DOCX, and PPT/PPTX, and exports XLSX, DOCX, and PPTX. Spreadsheets also support CSV and TSV import and export. This release improves preservation of formulas, charts, document pagination, and presentation content. Conversion can run directly in Node.js for batch jobs; see the file conversion guide.
The Web SDK compilation target moves from Chrome 70 to Chrome 88. The supported baseline is Chrome/Edge 88, Firefox 90, Safari 14.1, and Electron 12.
Presets no longer ship UMD builds. Applications loading presets through script tags must move to a module-based build.
Replace legacy calls with the current APIs:
| Removed API | Replacement |
|---|---|
createUniverSheet() |
createWorkbook() |
getActiveUniverSheet() |
getActiveWorkbook() |
getUniverSheet() |
getWorkbook() |
| Legacy event hooks | addEvent() |
- Product-specific Exchange APIs: Replace
importXLSXToSnapshotAsync()withimportSheetToSnapshotAsync()and load@univerjs-pro/sheets-exchange-client/facade. Review plugin registration and service configuration in the Sheets import/export guide. - Advanced APIs and package changes: Review Docs, chart, and shape Facade integrations. Version history now uses shared modules plus product plugins; some formula services and types have moved to
@univerjs/engine-formula. Check imports, parameters, and return values against the API reference. - Removed custom code execution paths: Uniscript has been removed. Custom formula registration no longer transfers function source over RPC for remote deserialization. Bundle trusted functions with your Worker and register them in the environment where they execute.
Keep interdependent Univer packages on matching versions. After migrating, validate representative documents through editing, saving, undo, import/export, and collaboration.
0.25 maintenance: The 0.25 series will receive security updates only for one year from the release of Univer 1.0. New features and other improvements are available in 1.0.
For a new Sheets integration:
npm install @univerjs/presets@1.0.0 @univerjs/preset-sheets-core@1.0.0
Continue with the Sheets installation guide, or use the Docs installation guide. Each editor's documentation covers the packages and services needed for its features.
Thank you to everyone who contributed code, reported issues, improved the documentation, and tested the prereleases.
Full changes: v0.25.2…v1.0.0
🐢 Release v0.25.0
[!IMPORTANT] 📢 1.0 Release Coming Soon
We are working hard on the official release of Univer 1.0, which will be a major milestone for the project. Stay tuned!
This version only includes some bug fixes in Univer Pro, with no feature updates.
Have questions, feedback, or ideas? Reach out to us at:
Full Changelog (2026-06-27)
📐 Release v0.25.0
[!IMPORTANT] 📢 1.0 Release Coming Soon
We are working hard on the official release of Univer 1.0, which will be a major milestone for the project. Stay tuned!
The following features are actively under development. Some modules are already available, and the full experience will be delivered gradually in subsequent versions:
| Direction | Status | Description |
|---|---|---|
| Performance Optimization | 🔄 Ongoing | Performance tuning for the core engine and rendering pipeline |
| Base 功能 | 🔄 In development | Multi-dimensional table (Base) functionality |
| Docs Features | 🔄 In development | Document editing and reusable editor components |
| Slides Features | 🔄 In development | Development and iteration of slide editing capabilities |
Docs Table receives significant enhancements across both Univer and Univer Pro, delivering a more complete table editing experience in documents.
Univer:
- Polished table rendering, selection behavior, and contextual menus
- Restored document zoom functionality with smoother zoom controls
- Added Facade APIs for programmatic table insertion and manipulation
- Improved paragraph spacing defaults for modern document layouts
- Enhanced clipboard support for tables (copy, paste, and paste-without-formatting)
Univer Pro:
- Full table editing capabilities: insert/delete rows and columns, merge/unmerge cells, resize rows/columns, and move tables
- Table borders: set border styles, widths, colors, and background fills
- Table sorting and header row configuration
- Column type configuration support
- Horizontal scrollbar support for wide tables
- Canvas-based table rendering with drag-to-resize interactions
- Comprehensive Facade APIs for table operations
Facade API Example:
const doc = univerAPI.getActiveDocument();
// Insert a 3x4 table at the current cursor position
doc.insertTable(3, 4);
// Insert a table at a specific position
doc.insertTable(3, 4, { startIndex: 10 });
A suite of new document editing modules is now available in Univer Pro, enabling rich document authoring beyond tables:
| Module | Description |
|---|---|
| Docs Shape | Insert and edit shapes in documents, with shape text editing and floating toolbars |
| Docs Callout | Insert callout blocks with customizable background colors and an emoji picker |
| Docs Code Block | Insert code blocks with syntax highlighting and language selection |
| Docs List | Enhanced list editing with custom bullets, prefix/suffix settings, and start-number configuration |
| Docs Quote | Insert quote blocks for styled quotations |
These modules are integrated with the license plugin and include configuration schemas for customization.
The pivot table facade API has been enhanced with more comprehensive control:
- Added
FPivotTablefacade class with methods for updating fields, source ranges, collapse states, and value filters - Added pivot-related enums to
FEnumfor easier programmatic configuration - Added a dedicated pivot table facade example
Univer now supports Thai language text rendering in documents, including proper character shaping and line breaking for Thai scripts.
- PR: #6960
This release adds support for 7 new languages across 34 packages, expanding Univer's global reach:
-
ar-SA Arabic (العربية)
-
de-DE German (Deutsch)
-
id-ID Indonesian (Bahasa Indonesia)
-
it-IT Italian (Italiano)
-
pl-PL Polish (Polski)
-
pt-BR Portuguese Brazilian (Português Brasileiro)
-
zh-HK Chinese Traditional Hong Kong (繁體中文 香港)
-
PR: #6958
All locale keys have been restructured to use package-name prefixes as namespaces. This is a global change across nearly all packages.
| Before | After |
|---|---|
'button.confirm' |
'find-replace.button.confirm' |
'permission.filterErr' |
'sheets-filter-ui.permission.filterErr' |
Each package now owns exactly one namespace that matches its package name. Core and UI layers of the same feature use different namespaces (e.g., sheets-filter and sheets-filter-ui).
If you maintain custom locale overrides or custom packages, update your locale keys accordingly.
As part of this restructure, the following language packages have been added or removed. Update your imports accordingly:
Added:
@univerjs/data-validation@univerjs/docs-thread-comment-ui@univerjs/sheets-data-validation@univerjs/sheets-filter@univerjs/sheets-hyper-link@univerjs/sheets-table@univerjs-pro/edit-history-loader
Removed:
@univerjs/sheets-find-replace(Locale files deleted entirely)@univerjs/sheets-sort(Locale content merged intosheets-sort-ui)
Example:
// Added packages: import their locales if you use them standalone
+ import dataValidationLocale from '@univerjs/data-validation/locale/en-US';
+ import sheetsDataValidationLocale from '@univerjs/sheets-data-validation/locale/en-US';
+ import sheetsFilterLocale from '@univerjs/sheets-filter/locale/en-US';
+ import sheetsHyperLinkLocale from '@univerjs/sheets-hyper-link/locale/en-US';
+ import sheetsTableLocale from '@univerjs/sheets-table/locale/en-US';
// Removed packages: remove their locale imports
- import sheetsSortLocale from '@univerjs/sheets-sort/locale/en-US';
- PR: #6948
The following deprecated FWorkbook APIs in @univerjs/sheets-data-validation have been removed:
| Removed API | Alternative |
|---|---|
FWorkbook.addDataValidation |
Use FRange.setDataValidation or commands directly |
FWorkbook.removeDataValidation |
Use FRange.setDataValidation(null) or commands directly |
FWorkbook.updateDataValidation |
Use FRange.setDataValidation or commands directly |
FWorkbook.getDataValidation |
Use FWorksheet.getDataValidations |
FWorkbook.getValidatorStatus |
Use FWorksheet.getValidatorStatusAsync |
Additionally, list option serialization utilities have been moved from sheets-data-validation to sheets. If you were importing these utilities directly, update your imports.
Fixed memory leaks in the before-close service and ribbon service caused by improper RxJS subscription cleanup.
- PR: #6991
Fixed ghosting artifacts in frozen areas when scrolling sheets.
- PR: #6969
Fixed scrolling lag in large spreadsheets, improving scrolling smoothness.
- PR: #6959
Fixed pasted base64 images not being uploaded correctly in collaborative document editing.
- PR: #6985
- Find & Replace (#6970): Fixed abnormal scrolling behavior when navigating matches across worksheets.
- Formula Facade (#6947): Fixed an issue with the
onCalculationResultAppliedAPI in worker threads. - Filter (#6954): Facade commands now register correctly without requiring the UI plugin.
- Table (#6964, #6965): Fixed an issue where Table filter rows affected other worksheets.
- Table (#6946): Fixed issues related to Table formula references.
- Sheet (#6976): Fixed an issue where scrolling a Sheet upward before reaching the boundary triggered scrolling in the outer container.
- Sheet (#6957): Fixed an issue where setting
customon empty cells caused borders to disappear in some scenarios.
Thanks to community contributor @IMSupperkaka for their contribution to this release:
- Data Validation (#6942): Fixed missing commas in dropdown list options.
Have questions, feedback, or ideas? Reach out to us at:
Full Changelog (2026-05-30)
📐 Release v0.24.0
[!IMPORTANT] 📢 1.0 Release Coming Soon
We are working hard on the official release of Univer 1.0, which will be a major milestone for the project. Stay tuned!
The following features are actively under development. Some modules are already available, and the full experience will be delivered gradually in subsequent versions:
| Direction | Status | Description |
|---|---|---|
| Performance Optimization | 🔄 Ongoing | Performance tuning for the core engine and rendering pipeline |
| Docs Features | 🔄 In development | Development of document editing and reusable editor components |
| Slides Features | 🔄 In development | Development and iteration of slide editing capabilities |
Outline (row/column grouping) is now officially available in Univer Pro. You can group rows or columns to create collapsible sections, making large spreadsheets easier to navigate and read.
Installation:
If you are using the advanced preset, Outline is already included.
pnpm add @univerjs/preset-sheets-advanced
If you prefer to install the plugins individually:
pnpm add @univerjs-pro/sheets-outline @univerjs-pro/sheets-outline-ui
Register Plugins:
import { UniverSheetsOutlinePlugin } from '@univerjs-pro/sheets-outline';
import { UniverSheetsOutlineUIPlugin } from '@univerjs-pro/sheets-outline-ui';
univer.registerPlugin(UniverSheetsOutlinePlugin);
univer.registerPlugin(UniverSheetsOutlineUIPlugin);
Key Features:
- Group and ungroup rows or columns via the outline gutter, right-click context menu, or keyboard shortcuts
- Collapse and expand groups to show or hide detail rows/columns
- Automatic outline updates when rows or columns are inserted, deleted, or moved
- Permission controls for collaborative scenarios
- Full Facade API support for programmatic control
Facade API Example:
const fWorkbook = univerAPI.getActiveWorkbook();
const fWorksheet = fWorkbook.getActiveSheet();
// Group rows 2 to 6
fWorksheet.addRowOutline(1, 5);
// Group columns B to E
fWorksheet.addColumnOutline(1, 4);
// Get all row outlines
const rowOutlines = fWorksheet.getDimensionOutlines('row');
// Collapse the first group
if (rowOutlines[0]) {
fWorksheet.setDimensionOutlineCollapsed(rowOutlines[0].id, true);
}
// Clear outlines in a range
fWorksheet.clearDimensionOutlines('row', 1, 10);
A new Panel component has been added to @univerjs/design and @univerjs/ui, providing a standardized container for sidebar panels.
The Sidebar now supports:
-
Accessibility improvements: Better keyboard navigation and ARIA attributes
-
Resize support: Users can drag to resize the sidebar width
-
PR: #6938
The following FWorksheet APIs have been removed. Use the recommended alternatives:
| Removed API | Alternative |
|---|---|
FWorksheet.onCellDataChange |
univerAPI.addEvent(univerAPI.Event.SheetValueChanged, ...) |
FWorksheet.onBeforeCellDataChange |
univerAPI.addEvent(univerAPI.Event.BeforeSheetEditEnd, ...) |
FWorksheet.getLastColumns |
FWorksheet.getLastColumn |
- PR: #6919
IGlobalZoneService and related APIs have been removed. Use IUIPartsService with BuiltInUIPart.GLOBAL instead.
- PR: #6930
Properly managed RxJS subscriptions across collaboration cursors, live-share, pivot tables, and other modules to prevent memory leaks in long-running applications.
- PR: #4864
- Color Picker (#6912): Fixed hue value normalization for values >= 360 and resolved stale closure issues in event handlers.
- Sheet Drawing (#6929): Fixed image IDs not being passed to the builder correctly.
- Toolbar Icon (#6928): Fixed the clear-all icon in the toolbar.
- Outline Overlays (#6922): Fixed header overlay issues when using outline features.
- Outline Gutter (#4850): Fixed gutter control anomalies in outline interactions.
- Outline Warnings (#4859): Added warnings when attempting to ungroup an incomplete range.
Have questions, feedback, or ideas? Reach out to us at:
Full Changelog (2026-05-23)
⚡ Release v0.23.0
[!IMPORTANT] 📢 1.0 Release Coming Soon
We are working hard on the official release of Univer 1.0, which will be a major milestone for the project. Stay tuned!
The following features are actively under development. Some modules are already available, and the full experience will be delivered gradually in subsequent versions:
| Direction | Status | Description |
|---|---|---|
| Performance Optimization | 🔄 Ongoing | Performance tuning for the core engine and rendering pipeline; the formula engine has already seen improvements |
| RTL Language Support | 🔄 UI complete, rendering layer in progress | Interface layout and component direction are adapted; RTL support for document/sheet content rendering is still under development |
| Outline (Grouping/Outlining) | 🔄 In development | Outline (row/column grouping and collapsing) feature |
| Slides Features | 🔄 In development | Development and iteration of slide editing capabilities |
Added support for context-aware Ribbon Tabs. The toolbar now dynamically displays the most relevant functional tabs based on your currently selected object or operation state, reducing distractions from irrelevant options and keeping commonly used tools within easy reach.
Usage Example:
Register a contextual tab and show/hide it at the appropriate time:
import { RibbonPosition, IRibbonService } from '@univerjs/ui';
// 1. Mark as contextual during menu registration
menuManagerService.mergeMenu({
[MenuManagerPosition.RIBBON]: {
['custom-contextual-tab']: {
order: 99,
title: 'Chart Tools',
contextual: true, // Mark as contextual tab
// ...menu items
},
},
});
// 2. Control visibility in business logic
const ribbonService = accessor.get(IRibbonService);
// Show contextual tab and auto-activate
ribbonService.showContextualTab('custom-contextual-tab', { activate: true });
// Hide a single contextual tab
ribbonService.hideContextualTab('custom-contextual-tab');
// Hide all contextual tabs
ribbonService.hideAllContextualTabs();
- PR: #6902
This update includes multiple performance optimizations that significantly improve the smoothness of complex documents.
Both the OSS and Pro formula engines have seen significant improvements. The OSS version reduces calculation time by 15.7% in a 500K formula scenario and resolves the previous out-of-memory (OOM) issue that prevented calculation in ultra-large files. The Pro version further delivers 1.2–5.4× acceleration for real-world business scenarios.
OSS Version
| Test File | Formula Count | Before | After | Improvement |
|---|---|---|---|---|
| Synthetic_500K_MixedFormulas | 500,000 | 162.68 s | 137.13 s | -15.7% |
| RealWorld_Engineering_68K | 68,576 | OOM | 34.54 s | From failure to success |
| RealWorld_Financial_33K | 33,617 | 1.18 s | 1.34 s | Within margin of variation |
| Template_1.4M_Summary | 1,463,721 | OOM | 248.62 s | From failure to success |
Pro Version
| Test File | Formula Count | Before | After | Speedup |
|---|---|---|---|---|
| Synthetic_500K_MixedFormulas | ~500,000 | 158.82 s | 132.18 s | 1.20× |
| RealWorld_Engineering_68K | ~68,576 | 35.71 s | 6.65 s | 5.38× |
| RealWorld_Financial_33K | ~33,617 | 1.40 s | 1.22 s | 1.15× |
| Template_1.4M_Summary | ~1,463,721 | 278.67 s | 103.62 s | 2.69× |
- Scroll Rendering (#6905): Fixed scroll stuttering for a smoother scrolling experience in long spreadsheets.
- Sheet Interceptor (#6906): Streamlined hot paths to reduce rendering overhead from each cell operation.
- Memory Leaks (#6896): Comprehensive investigation and fixes for memory leaks caused by RxJS subscriptions not being properly disposed of, making long-running applications more stable.
- Lifecycle Safety (#6898): Fixed a race condition where commands could still execute after an instance was destroyed.
- Formula Calculation on Creation (#6903): Fixed an issue where formulas were not automatically calculated when creating a new workbook.
- Float DOM API (#6904): Fixed abnormal behavior in
FWorksheet.removeFloatDom. - Calculation Result Callback (#6907): Fixed
onCalculationResultAppliednot correctly waiting for other formula results such as conditional formatting and data validation. - Server Upload State (Univer Server): Fixed an issue where after uploading a file exceeding the size limit, the server-side state was not properly reset, causing subsequent file uploads of any size to fail.
- Pivot Table (Univer Pro): Fixed component anomalies in the Pivot Table Tabular layout, and added support for hiding subtotal rows in this layout.
Have questions, feedback, or ideas? Reach out to us at:
Full Changelog (2026-05-18)